我的问题是有点关心概念。Javascript - 如果异步情况下
很多时候,有这样的这样的情况:
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();
}
,但是这个代码是丑陋的,难以阅读和看起来像反模式和问题。
我想也许我可以找到一些与承诺(在后端使用蓝鸟)的解决方案,但找不到东西。
有人曾经遇到过这种情况,可以帮我弄清楚吗?
谢谢!
与AsyncAction和SyncAction混淆看起来像反模式。 – xdazz
如果需要,可能会变丑,但是定义并使用javascript回调的方式。我不知道任何其他方式异步工作。哦,它根本不是反模式,这是模式。 – Bolza
@xdazz。异步和同步非常受欢迎,例如:'if(!modelAlreadyExist) loadItAsyncFromDb() else useTheCurrentOneSync()' –