JavaScript функция стрелки с парантетическим телом, включая запятую - PullRequest
0 голосов
/ 30 апреля 2020

Что делает этот код?

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, как использовать async / await на Bugsnag.notify, и они ответили приведенной выше первой строкой кода.

Код прекрасно работает большую часть времени, но когда я отлаживаю тест в mocha, он ждет неопределенно долго.

Как в конечном итоге вызывается разрешение и в правильном порядке - после асинхронного завершения уведомления?

...