工具:ES6 JavaScriptJavaScript:多個承諾對象被鏈接
也許這是所有的肉汁。我只需要一個快速的同行評審,以確保我沒有做(醜陋/犯罪)。
我抓住不同模塊的承諾,然後鏈接它們。我無法找到一個很好的示例鏈接多個承諾對象(不要與鏈接承諾與順序回調混淆)等語法混淆了我,因爲我不知道是否我開始嵌套承諾語法上或不。
我覺得promise.all應該在混合中,,但由於我有一些函數(如果你願意回調)定義成功和失敗操作在中間層 - 使用promise.all語法混亂。
例如讓我們得到2個承諾。我們完成第一場,然後打第二場。如果他們都成功 - 做一些手術成功,否則失敗的操作,最後做一個整理回調與成敗對象的引導:
bootStrapProgram = function(callback){
var promise1 = module1.getPromise1();
var promise2 = module2.getPromise2();
promise1.then(promise2.then(successOperation,failureOperation).then(callback));
}
successOperation = function(){
//Shoot out confetti or something I don't care.
}
failureOperation = function(){
//I dunno, Fire Le Missles!
}
如果第二個承諾需要它,需要傳遞值1嗎?例如:.then(function(value1){return module2.getPromise2(value1); –
@NickPineda - 如果您想將'value1'傳遞給'getPromise2()',那麼歡迎您在第二個例子中這樣做。我沒有看到你作爲要求說的地方,所以我沒有表明這一點,但如果你願意的話,你可以自由地做到這一點。在第一個例子中你不能這麼做,因爲兩個操作都是同時開始的,因此一個結果不能用於另一個結果。 – jfriend00