Я создал дополнение Chrome, для которого, когда я нажимаю кнопку на панели инструментов, появляется всплывающее сообщение с некоторыми значениями в нем. Всплывающий скрипт вызывает функцию в фоновом скрипте, которая возвращает эти значения, в то же время эта функция запускает другую функцию обратного вызова. Аддон работает нормально, моя проблема в том, что мне нужно вернуть значения из фонового скрипта обратно во всплывающий скрипт после завершения функции обратного вызова, а не во время ее работы.
вот код
popup.js
document.addEventListener("DOMContentLoaded", function () {
backGround = chrome.extension.getBackgroundPage();
var msg = backGround.browserOnClickAxn();
insertText (msg);
}
);
function insertText (msg) {
do stuff
}
background.js
function browserOnClickAxn()
{
chrome_api_function (
do stuff
callback()
)
var result = another_function()
var msg = result
return msg;
}
Что происходит с текущим кодом, так это то, что всплывающее сообщение msg получает свои значения и появляется во время работы callback (). Callback () делает свое дело, он не имеет ничего общего с генерацией значений msg.
Я хочу, чтобы всплывающее сообщение получало свои значения и появлялось только после завершения обратного вызова.
Как мне подойти к этому? Я поставил условное while перед var result , чтобы заставить главную функцию ждать, пока callback () не вернет условие, которое останавливает какое-то время, но весь сценарий останавливается.
Я использую больше обратных вызовов? Я использую API-интерфейс SendMessage для Chrome Я хотел бы решить эту проблему, не усложняя существующий код.