基本JavaScript不断返回false

Basic JavaScript keeps returning false

本文关键字:返回 false JavaScript 基本      更新时间:2023-09-26

嘿,我正在创建一个基本的chrome插件。到目前为止,我还没有做过java脚本,以前只使用过java。出于某种原因,每当我运行这个函数时,它总是返回false。我在if复选框中添加了一个警报,它就会出现。

function alarmExists() {
    var exists = false;
    
    chrome.alarms.getAll(function(alarms) {
            for(i = 0; i < alarms.length; i++) {
                if(alarms[i].name == "MyAlarm") {
                    alert("True");// This is called
                    exists = true;
                    break;
                }
            }
    });
    return exists;
}

chrome.alarms.getAll是一个异步函数,并将回调作为参数。它将在完成执行后执行回调,在您的情况下,这发生在您从alarmExists返回值之后。您应该在回调中包含逻辑,或者使用诸如Promises之类的模式。