问题是函数在执行其中的一段代码之前会返回一个值。在函数的最后,检查变量是否为零,因此首先执行此检查,然后将其递增。如何顺序执行所有操作?
function InSpamBySender(message)
{
params = {
"addLabelIds": [
"SPAM"
]
};
let sp, all = 0;
let current_ms = 0;
senders = GetSender(message);
chrome.storage.sync.get(function (data) {
console.log(data);
sp = data.spamNum;
for (i = 0; i < senders.length; i++) {
for (j in data) {
if (j === senders[i]) {
POST_request("POST", "https://www.googleapis.com/gmail/v1/users/me/messages/" + (message[i].id) + "/modify", false, params);
sp++;
current_ms++;
console.log(current_ms)
}
}
}
all = data.usedMesNum + senders.length;
chrome.storage.sync.set({ 'usedMesNum': all }, function () { });
chrome.storage.sync.set({ 'spamNum': sp }, function () { });
chrome.runtime.sendMessage("changeStats");
});
if (current_ms === 0)
return false;
else
return true;
}