2017-07-06 25 views
1

我正在開發一個網頁抓取工具(處於早期階段),並且我打算做x個騎手呼叫。這些電話是基於承諾的,但我希望這些電話能夠按順序進行,當電話結束時,下一次開始。節點 - 騎手呼叫的隊列

我該如何實現這種行爲?

回答

0

你可以簡單地這樣做:

asyncCall(args[1]).done(() => asyncCall(args[2])) 

這裏asyncCall是你需要調用什麼功能。它需要一些參數並返回Promise

所以你基本上是在等待一個調用的結果,然後調用第二個調用。

但是,當需要進行大量呼叫時,這可能會相當笨重。

await asyncCall(args[1]); 
await asyncCall(args[2]); 
... 

,或者甚至更好:

for (let arg of args) { 
    await asyncCall(arg) 
} 
如果使用 async/await,你應該,因爲你在一個新的項目,則可以更好的代碼一樣它