我的問題是有點關心概念。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()' –