我需要等待异步 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。
假设这是我的声音:
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。