後,在我的反應的組分之一,我有以下方法:呼叫異步相互依存的終極版動作一個接一個
save() {
var arrLength = this.state.arr.length;
if(arrLength > 1) {
var start = this.state.arr[arrLength-2];
var end = this.state.arr[arrLength-1];
this.props.updateItemAudio(start,end);
this.props.saveItemToDisk();
this.props.getNextItem();
}
else {
console.log("Array not long enough yet");
}
}
最重要的一點是:
this.props.updateItemAudio(start,end);
this.props.saveItemToDisk();
this.props.getNextItem();
我需要等待第一個函數在執行第二個函數之前調用它,第三個函數與第三個函數相同。我怎樣才能做到這一點?我聽說有這個新的async/await syntax
,我可以在這裏以某種方式使用它嗎?我不希望將回調函數傳遞給這些操作中的每一個。
編輯:我的方法不回覆承諾,他們是正常的Redux行動。
難道這三個函數返回的承諾? –
不,但你提到它很好,我編輯了我的問題。這三個功能只是「正常」的還原操作。 –
或者您可以在這些個人動作創建者中執行它們,即在完成運行saveItemToDisk並且一旦完成運行後,即在updateItemAudio動作中執行它們。getNextItem – linasmnew