訂購函數調用
回答
您可以使用then
法諾連鎖狀物體。注意then
和done/fail
之間的差異,完成回調傳遞給then
可以爲控制流的其餘部分返回一個新的承諾類對象。這就是爲什麼你可以做鏈接。見the documentation。
a().then(b).then(c).done(function() { // the last promise has been resolved });
所有的函數都應該return
這個工作的承諾對象。所以你的b
應該看起來像這樣。
function b(){
return Ajax_Call_2();
}
凡Ajax_Call
本身應該返回ajax
呼叫,像return $.ajax(...)
。
請注意,由於b
和c
都會返回承諾,因此您可以直接將它們傳遞給then
。
謝謝。問題已解決,當我添加「返回」 – NewPHPer
您可以鏈接它們,以便通過返回他們:
$.when(a()).then(function() {
return b();
}).then(function() {
return c();
}).then(function() {
console.log("Done!");
});
您可以直接傳遞這些函數,而無需將它們包裝到匿名函數中。 –
但是,也不是a,b或c答應 –
@ A.沃爾夫好點,我不夠小心。但顯然他們應該回報這個承諾。 –
- 1. 訂購Ajax調用
- 2. 訂購總計Sum函數使用
- 3. 訂購數組
- 4. 使用sql訂購數據
- 5. MYSQL訂購數組
- 6. 訂購整數值
- 7. 訂購
- 8. 訂購
- 9. 訂購
- 10. 從附加文本調用javascript(訂購購物車)
- 11. 訂購使用XSLT
- 12. 如何訂購相互使用的C結構/函數聲明?
- 13. 驗證方法調用參數,來電訂購
- 14. 自定義比較(訂購)作爲(多)地圖訂購參數?
- 15. 使用util訂購合金使用/訂購
- 16. 訂購怪異數據LINQ
- 17. 訂購PHP數組按值
- 18. Eloquent訂購相關數據
- 19. 角度不訂購數據
- 20. MySQL的數量訂購
- 21. LINQ訂購分組數據
- 22. 訂購加入的數據
- 23. 從MySQL訂購數據
- 24. 訂購多維數組PHP
- 25. 訂購多維數組
- 26. 多列的整數訂購
- 27. 訂購數組問題
- 28. 訂購VARCHAR和數量
- 29. 如何訂購生成函數的輸入參數
- 30. OCaml的標記參數訂購帶有高階函數
'then'應該是一個函數,以便它可以在異步操作完成時執行它。你寫它的方式,你只是儘可能快地執行所有3個函數。 –
人們仍然偏愛jQuery而不是承諾?奇怪的。 – GottZ
'a()。then(b).then(c)'?所有三個都必須返回'$ .ajax'或其他。 – georg