gpt4 book ai didi

Javascript:在匿名函数中访问外部变量

转载 作者:行者123 更新时间:2023-12-02 17:04:52 24 4
gpt4 key购买 nike

请参阅以下 JavaScript:

(function() {
var allMatches = [];

$.getJSON("myURL", function(data) {
$.grep(data.feed.entry, function(element, index) {
var match = {
day: element.gsx$day.$t,
winner: element.gsx$winner.$t,
field: element.gsx$field.$t,
time: element.gsx$time.$t,
grade: element.gsx$grade.$t,
round: element.gsx$round.$t,
teamOne: element.gsx$team1.$t,
teamOneGoals: element.gsx$goals.$t,
teamOnePoints: element.gsx$points.$t,
teamOneTotal: element.gsx$totalscore.$t,
teamTwo: element.gsx$team2.$t,
teamTwoGoals: element.gsx$goals_2.$t,
teamTwoPoints: element.gsx$points_2.$t,
teamTwoTotal: element.gsx$total.$t
}
allMatches[index] = match;
});
});

var fridayMatches = SQLike.q(
{
Select: ['*'],
From: allMatches,
Where: function(){return this.day === "Friday"},
OrderBy: ['field','|asc|']
}
);

console.log(fridayMatches);

})();

如果我在allMatches[index] = match;处放置断点我可以清楚地看到这个数组已完全填充

但是,如果我在 SQLike 的开头进一步放置一个断点代码 allMatches 完全为空。

这是为什么,解决办法是什么?

最佳答案

因为 $.getJSON 是异步的。

您必须将 SQlite 代码放入函数中并从 $.getJSON 回调中调用它。

关于Javascript:在匿名函数中访问外部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25342275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com