簡體   English   中英

主function依次調用其他函數

[英]Main function calls the other functions one after the other

正如標題所示,我想構建一個 function 一個接一個地調用其他函數。 不幸的是,這些功能需要不同的時間長度,並且在執行時會出現問題,這是可以理解的。

這個問題有簡單的解決方案嗎?

function allInOne() {
  loadData();
  moveSheet();
  sortStockData();
}

在第一個 function 完成之前,第二個已經完成。 但這一切都應該一個接一個地完成。 我剛剛被谷歌等困住了。

先感謝您。

查看函數內部,因為它們可能正在返回承諾

正常的 Javascript 是單線程的,因此當您調用一個 function 然后另一個又一個(如您所做的那樣)時,您可以期望它們按順序運行。

但是你可能會發現 loadData() 是一個異步的 function,返回一個Promise 查看它的return語句來檢查這一點。

如果它返回 promise,你可以說,

loadData().then(result => moveSheet())

如果moveSheet也是,返回一個 promise,你可以展開鏈如下:

loadData().then(result => moveSheet()).then(result => sortStockData())

另一種表達方式是使用'await'關鍵字

async function x(){
  await loadData();
  await moveSheet();
  sortStockData();
}

更多關於 Promises 的信息在這里。

https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-promise-27fc71e77261

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM