0

次の2つの機能があります。

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();

現在、 の更新された値を返すことができませんnumnumber新しく更新された値 (1) ではなく、0 (デフォルト値) を返し続けます。

更新された値を表示するにはどうすればよいですか? さらに情報を追加する必要がある場合はお知らせください。

4

2 に答える 2