我有我自己的函數A,和上傳文件的第三者異步函數B,現在我想A的執行過程中調用函數B,然後等待該B功能結束。等待異步函數結束
我可以檢查函數是否由一個標誌var F完成,問題是如果我使用下面的代碼瀏覽器進入一個無限循環(也許是因爲它在循環中忙,無法更新F)。
function A(){
// ...
B();
while(F);
// ...
}
function B(){
// ...
}
我不能在2子功能
對不起總是在一個線程分割函數的對我很差的英語
_I不能將函數A拆分爲2個子函數_爲什麼不能? – Andreas
這就是*承諾*的目的。如果'B'被正確地實現了,它應該返回一個promise對象,你可以用它來設置當'B'中的異步進程完成時調用的處理程序。或者,他們可能已經爲一個函數添加了一個參數,一旦完成「B」就會調用它。但是,如果'B'的實現者懶惰,他們沒有做過那樣的事情,而且你沒有太多的事情可以做。 –