我需要等待异步 Redux Thunk(不是 Promise)吗?

Do I need to await an async Redux Thunk (not Promise)?

假设这是我的声音:

const thunk = async (dispatch,getState) =>{ 'some dispatch and await code'}

所以当我想发送这个 thunk 时,我应该使用 await dispatch(thunk) 还是只使用 dispatch(thunk)

从 Redux-thunk 和 Redux 的源代码来看,我认为我应该使用 await dispatch(thunk),因为 redux-thunk 不会为我添加 'await'。但是如果我不使用 await 会发生什么(它只是 return 一个待处理的 Promise),thunk 中的代码(从 Api 等调度和拉取)是否仍然会被执行?

谢谢

这在很大程度上取决于你之后是否想做点什么。

如果你只想派遣那个 thunk 并让它继续,你可以直接派遣它。 您的下一行代码将在 thunk 开始后立即 运行,而不是等待它完成。

或者您可以选择 await 它,那么您的下一行代码只会在 thunk 完成或失败后继续 运行ning。