Я хочу использовать async ждут в прослушивателе onMessage:
chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) =>{
var key = await getKey();
sendResponse(key);
});
Однако я получаю undefined, когда я отправляю сообщение.
Из документации для chrome.runtime.onMessage.addListener:
Эта функция становится недействительной, когда приемник событий возвращается, если только вы возвращаете true из прослушивателя событий, чтобы указать, что вы хотите отправить ответ асинхронно (это приведет к тому, что канал сообщения будет открыт для другой конец до вызова sendResponse).
Это работает, когда я использую обратный вызов.
chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) =>{
getKey(key => {
sendResponse(key);
});
return true;
});
Однако я бы хотел использовать синтаксис ожидания. Но он не работает и все еще возвращает undefined:
chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) =>{
var key = await getKey();
sendResponse(key);
return true;
});