这段代码有什么作用?
await new Promise((resolve) => (Bugsnag.notify(ex, eventCallback), resolve));
function eventCallback(event) {
addMetadata(event, md);
addMetadata(event, ex.bugsnagMetadata);
}
function addMetadata(event, md) {
if(!md) return;
for (let mdKey in md) {
let mdValue = md[mdKey];
if(typeof(mdValue) === 'object')
event.addMetadata(mdKey, mdValue);
else
event.addMetadata(mdKey, mdKey, mdValue);
}
}
随时忽略eventCallback
,addMetadata
。我将它们包括在内是为了提供更多背景信息。
我最初问Bugsnag如何在Bugsnag.notify上使用async / await,然后他们以上面的第一行代码作为响应。
该代码在大多数情况下都运行良好,但是当我在mocha中调试测试时,它会无限期地挂在等待中。
在通知异步完成后,最终如何以正确的顺序调用该解析?