【发布时间】:2017-10-06 02:55:38
【问题描述】:
在我的一个 React 组件中,我有以下方法:
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 操作。
【问题讨论】:
-
这三个函数是否返回承诺?
-
不,但你提到它很好,我编辑了我的问题。这三个函数只是“正常”的 redux 操作。
-
或者您可以在这些单独的动作创建者内部执行它们,即在 updateItemAudio 动作完成后运行 saveItemToDisk 并在完成后运行 getNextItem
标签: javascript reactjs asynchronous redux async-await