我有以下兩個功能:更新呼叫裏的數組回到
var abc;
function updateNum() {
abc=0;
g.dbm.transaction("leagues").objectStore("leagues").openCursor(null, "prev").onsuccess = function (event) {
var teams, i;
team.filter({
attrs: ["tid", "abbrev", "region", "name", "cid"],
seasonAttrs: ["winp", "playoffRoundsWon"],
season: g.season
}, function (teams) {
// Sort teams by playoffs and winp, for first round
teams.sort(function (a, b) {
if (a.playoffRoundsWon < b.playoffRoundsWon) {
return -1;
}
if (a.playoffRoundsWon > b.playoffRoundsWon) {
return 1;
}
return a.winp - b.winp;
});
abc+=1;
});
};
}
function getNum() {
return abc;
}
我所要做的是更新的回調函數內的變量ABC,然後返回。我通過首先在另一個文件中調用updateNum()
函數來完成此操作。然後我一個變量分配給的getNum()
值這裏是一個示例代碼會是什麼樣子:
myFile.updateNum();
var number = myFile.getNum();
我現在無法返回的num
更新值。 number
保持返回0(默認值)而不是新更新的值(即1)。
我怎樣才能讓它顯示更新的值?如果我需要添加更多信息,請讓我知道。
問題,所以我在'updateNum'函數的參數添加'cb'。接下來,我在'abc + = 1'行下面添加了'cb && cb(abc)'。我將'getNum'函數修改爲如下:'getBottomTeams(function(abc){return abc;});'現在,當我打開控制檯時,我得到'未捕獲的ReferenceError:getNum未定義'。我在這裏犯了一些明顯的錯誤嗎? – DemCodeLines
@TheGuyWhoCouldn'tTalkToTheGirl從你的解釋,它似乎很好。也許你可以重新發布你的修改過的代碼的相關部分? – plalx
它的工作,因爲它應該,所以謝謝你的幫助:) – DemCodeLines