我在任何地方都找不到这个问题的答案......
我正在尝试使用 setState 来更新我的应用程序的状态,但是,我需要在 setState
完成后调用一个 async
函数。
我可以在 setState
的回调中await
async
函数吗?
setState({foo: bar}, async () => {await doStuff()});
同时假设这可行,我可以依赖 setState
在 doStuff
被调用之前完成吗,我可以依赖 doStuff
是 等待
?
最佳答案
是的,确实可以。异步函数的特殊之处在于它们总是返回 Promises,因此特别是对于返回值不重要的函数(例如回调),您可以安全地放入异步函数,它会按预期工作。
更进一步,您甚至可以使用异步函数作为您的 componentDidMount
或 componentWillReceiveProps
(但仍然不是 render
,它期望返回一个 JSX 元素,而不是 Promise。
关于javascript - 我可以将异步函数作为回调传递给异步函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52864065/