Angular的ELSE语句在IF为真后仍然执行,位于subscribe方法中。
创始人
2024-10-24 03:00:51
0

出现这种情况的原因可能是异步代码的执行顺序问题,例如在subscribe方法中执行了异步操作,而IF语句是同步执行的。 建议将ELSE语句中的代码放到IF语句内部,以确保在IF语句执行成功后不会执行ELSE语句。以下是代码示例:

this.userService.getUserById(this.userId).subscribe( (user) => { if(user) { this.currentUser = user; console.log('User found'); // 在此处编写成功获取用户的代码 } else { console.log('User not found'); // 将ELSE中的代码移到IF内部 this.router.navigate(['/not-found']); return; } } );

如果您需要在IF语句外部使用ELSE语句中的代码,则建议将其封装在回调函数中,在异步操作完成后再调用。例如:

this.userService.getUserById(this.userId).subscribe( (user) => { if(user) { this.currentUser = user; console.log('User found'); // 在此处编写成功获取用户的代码 this.executeElseCode(); } else { console.log('User not found'); this.executeElseCode(); } } );

executeElseCode() { // 在此处编写ELSE语句中的代码 this.router.navigate(['/not-found']); return; }

相关内容

热门资讯

固有有辅助"福建兄弟... 固有有辅助"福建兄弟十三水有没有挂"开挂(透视)辅助下载(分享教程有挂教学);无需打开直接搜索加薇1...
本然有开挂"打两圈兴... 本然有开挂"打两圈兴化辅助"开挂(透视)辅助安装(揭秘教程有挂分享)《详细加薇136704302咨询...
从前有辅助"wepo... wepoker插件程序激活码是一款专注玩家量身打造的游戏记牌类型软件,在wepoker插件程序激活码...
往昔有辅助"小程序可... 往昔有辅助"小程序可以开挂吗"开挂(透视)辅助插件(高科技教程有挂教学)您好:小程序可以开挂吗这款游...
先前有开挂"钱塘十三... 钱塘十三水透视 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1、...
原先有开挂"决战卡五... 原先有开挂"决战卡五星游戏修改器"开挂(透视)辅助工具(软件教程有挂攻略)这是一款可以让一直输的玩家...
原先有开挂"暗宝破解... 原先有开挂"暗宝破解器"开挂(透视)辅助安装(黑科技教程有挂教程)【无需打开直接搜索加薇136704...
原生有开挂"湖南赣湘... 【亲,湖南赣湘互娱辅助脚本 这款游戏可以开挂的,确实是有挂的,很多玩家在这款湖南赣湘互娱辅助脚本中打...
素来有开挂"晋中胡乐... 素来有开挂"晋中胡乐辅助工具"开挂(透视)辅助安装(曝光教程有挂分享)晋中胡乐辅助工具ai黑科技系统...
固有有辅助"微乐陕西... 微乐陕西麻将破解是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...