我的问题有点关于概念。
很多时候会出现这样的情况:
if(something){
someAsyncAction();
}else{
someSyncAction();
}
// Continue with the rest of code..
var a = 5;
这种情况的问题很明显,我不希望var a = 5
调用除非someAsyncAction()
或someSyncAction()
将完成,现在,原因soAsyncAction()
是异步的,解决这种情况的唯一方法(我能想到)是这样的:
var after = function(){
// Continue with the rest of code..
var a = 5;
}
if(something){
someAsyncAction(after);
}else{
someSyncAction();
after ();
}
但是,这段代码很丑陋,难以阅读,看起来像反模式且有问题。
我想也许我可以通过 Promises(在后端使用 Bluebird)找到一些解决方案,但找不到一些东西。
有没有人以前遇到过这个问题,可以帮我弄清楚吗?
谢谢!