У меня есть следующий код в моем фоновом скрипте. Я отправляю сообщение в другое приложение, но в случае сбоя оно вызывается дважды (примечание: мой обратный вызов вызывается дважды. Мой код, вызывающий sendMessage
, вызывается только один раз)!
chrome.runtime.sendMessage(
otherAppId,
someObject,
function (response)
{
var lastError = chrome.runtime.lastError;
//This likely means it doesn't exist ("Could not establish connection. Receiving end does not exist.")
if ( lastError && lastError.message.indexOf( "not exist" ) !== -1 )
{
///This gets called twice!
console.log( "we're here twice?!" );
}
//This is called once
else console.log( "Was successful, so called only once" );
}
);
Есть ли способ отменить его, чтобы он больше не пытался? Почему ошибка приводит к двум вызовам моего обратного вызова?