Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在异步函数之后立即运行函数_Javascript - Fatal编程技术网

Javascript 在异步函数之后立即运行函数

Javascript 在异步函数之后立即运行函数,javascript,Javascript,我想存储在chrome.storageids中。使用INSERT\u或\u REMOVE(“blocked”,12)我正在从数据库中添加或删除12。问题是它是异步工作的。我想做的是在之后立即使用着色函数。我应该怎么做才能存档 function INSERT_OR_REMOVE(table, id) { if (isNaN(id)) return; var parsed = parseInt(id); chrome.storage.local.get(t

我想存储在
chrome.storage
ids中。使用
INSERT\u或\u REMOVE(“blocked”,12)
我正在从数据库中添加或删除
12
。问题是它是异步工作的。我想做的是在之后立即使用
着色
函数。我应该怎么做才能存档

function INSERT_OR_REMOVE(table, id) {
    if (isNaN(id))
        return;

    var parsed = parseInt(id);

    chrome.storage.local.get(table, function (data) {
        if (data[table] == null)
            data[table] = [];

        if (!data[table].includes(id))
            data[table].push(id);
        else
            data[table].remByVal(id);

        chrome.storage.local.set(data);
    });
}

function colorize() {
    chrome.storage.local.get("blocked", function (data) {
        var buttons = $("div.base-btn").closest("table");
        for (i = 0; i < buttons.length; i++) { 
            var id = $(buttons[i]).attr("data-id");

            if (data["blocked"].includes(id))
                $(buttons[i]).parent().addClass('blocked');
            else
                $(buttons[i]).parent().removeClass('blocked');
        }
    });
}
函数插入或删除(表,id){
if(isNaN(id))
返回;
var parsed=parseInt(id);
chrome.storage.local.get(表、函数(数据){
如果(数据[表]==null)
数据[表]=[];
如果(!data[table].includes(id))
数据[表]。推送(id);
其他的
数据[表].remByVal(id);
chrome.storage.local.set(数据);
});
}
函数colorize(){
chrome.storage.local.get(“阻塞”,函数(数据){
变量按钮=$(“div.base-btn”)。最近的(“表”);
对于(i=0;i
Chrome
StorageArea.set()
接受成功/失败时运行的回调函数。它与传递给chrome.storage.local.get(table,callbackFunction)的回调相同。

您只需添加
colorize
作为完成集合时运行的回调:

chrome.storage.local.set(data, colorize)

使
着色
回调
.local.set
调用?