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分钟详情!情怀打七辅助(辅助... 1分钟详情!情怀打七辅助(辅助挂)一贯有挂(必赢方法开挂辅助下载);无需打开直接搜索薇:136704...
第8分钟辅助!微信小程序白金岛... 第8分钟辅助!微信小程序白金岛修改器视频(辅助挂)果然确实有挂(详细教程!开挂辅助神器)您好:微信小...
八分钟开挂!微友破解器辅助插件... 大家好,今天小编来为大家解答微友破解器辅助插件下载这个问题咨询软件客服可以免费测试直接加微信(136...
3分钟辅助!兴动互娱有辅助吗(... 3分钟辅助!兴动互娱有辅助吗(辅助挂)一贯真的是有挂(AI教程开挂辅助插件) >>您好:软件加薇13...
第5分钟辅助!老友广东潮汕麻雀... 老友广东潮汕麻雀辅助是一款专注玩家量身打造的游戏记牌类型软件,在老友广东潮汕麻雀辅助这款游戏中我们可...
7分钟科普!盛世辅助器(辅助挂... 7分钟科普!盛世辅助器(辅助挂)其实真的是有挂(wepoke教程开挂辅助平台) 了解更多开挂安装加(...
第七分钟开挂!温州茶苑辅助器(... 第七分钟开挂!温州茶苑辅助器(辅助挂)原来真的是有挂(靠谱教程开挂辅助插件)>>您好:软件加薇136...
4分钟辅助!微友助手破解版(辅... 4分钟辅助!微友助手破解版(辅助挂)果然是有挂(微扑克教程开挂辅助插件);亲,微友助手破解版这款游戏...
6分钟科普!新518互游脚本(... 6分钟科普!新518互游脚本(辅助挂)其实是有挂的(透牌教程开挂辅助平台)《详细加薇13670430...
第四分钟辅助!新九方透视挂(辅... 第四分钟辅助!新九方透视挂(辅助挂)其实真的有挂(wpk教程开挂辅助下载);亲,新九方透视挂这款游戏...