使用 Await 进行异步回调处理
在某些情况下,使用回调时,例如:
test() { api.on( 'someEvent', function( response ) { return response; }); }
您可能需要合并异步性。要使这个函数异步并使用await,首先必须确保回调函数(someEvent)返回一个Promise。这是因为异步函数依赖于Promises来完成异步操作。
api.on()的修订版本:
function apiOn(event) { return new Promise(resolve => { api.on(event, response => resolve(response)); }); }
使用此更新的函数,您现在可以将 test() 修改为异步函数:
async function test() { return await apiOn( 'someEvent' ); }
但是,异步函数也会返回 Promise,因此 test() 的实际结果值是一个可以在另一个异步函数中解析的 Promise:
async function whatever() { // snip const response = await test(); // use response here // snip }
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3