如何调用异步清理函数?
How to call an async cleanup function?
如何在 useEffect 中调用异步清理函数?
useEffect(() => {
return () => Voice.destroy().then(Voice.removeAllListeners);
}, []);
EffectCallback 需要 void
,而不是 Promise<void>
你可以用花括号包裹正文,因为目前它 return 是 Promise
(当你省略花括号时会发生这种情况,一行 return) ,这使您的清理函数 return 成为 Promise<void>
。使用花括号,它将只是函数的主体而不是隐含的 return 语句:
useEffect(() => {
return () => {
Voice.destroy().then(Voice.removeAllListeners)
};
}, []);
如何在 useEffect 中调用异步清理函数?
useEffect(() => {
return () => Voice.destroy().then(Voice.removeAllListeners);
}, []);
EffectCallback 需要 void
,而不是 Promise<void>
你可以用花括号包裹正文,因为目前它 return 是 Promise
(当你省略花括号时会发生这种情况,一行 return) ,这使您的清理函数 return 成为 Promise<void>
。使用花括号,它将只是函数的主体而不是隐含的 return 语句:
useEffect(() => {
return () => {
Voice.destroy().then(Voice.removeAllListeners)
};
}, []);