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
ChromeStorageArea.set()
接受成功/失败时运行的回调函数。它与传递给chrome.storage.local.get(table,callbackFunction)的回调相同。
您只需添加colorize
作为完成集合时运行的回调:
chrome.storage.local.set(data, colorize)
使
着色
回调.local.set
调用?