Итак, я пытался несколько часов, но не мог заставить его работать. Это происходит только в опубликованном расширении chrome, а не в моей распакованной сборке
, это всплывающий скрипт:
_handleMessageResponse = (response) => {
console.log(response) // undefined
};
chrome.runtime.sendMessage(
"message",
this._handleMessageResponse
);
и в моем фоновом скрипте
chrome.runtime.onMessage.addListener(
async (
message,
_sender: any,
sendResponse: any
) => {
try {
const response = await someAsyncApiCall();
console.log(response) // {some: 'prop'}
sendResponse({
response
});
return true;
} catch (e) {
sendResponse({ errorMessage: e.message });
return true;
}
}
);
В моей локальной среде он возвращает объект, а в опубликованном расширении возвращает undefined . В опубликованном расширении, конечно, определен ответ в фоновом скрипте. как показано в моем коде) он не работает.