Я делаю расширение chrome и хочу предупредить пользователя, прежде чем он покинет страницу. Я могу сделать это в событии beforeunload
; но мне нужно проверить переменную в локальном хранилище, чтобы решить, показывать ли подсказку или нет. Но поскольку chrome.storage.local.get
является asyn c, код продолжит выполнение, прежде чем я смогу проверить эту переменную. Это мой код:
window.addEventListener('beforeunload', function (e) {
chrome.storage.local.get('state',function(val){
if(val.state==='syncing'){
e.preventDefault();
e.returnValue = '';
}
})
});
Есть ли способ заставить эту chrome.storage.local.get
функцию работать синхронно? Или есть другие решения?