我正在做一个chrome扩展,想从我的storage.sync.get
中获取一个值,我一开始就犯了一个错误,尝试从异步函数中获取一个值,从那以后,我看到了很多关于为什么会赢的帖子。没用,一般的响应是使用回调,所以这就是我在存储中使用favoriteTeams
的方式。但是现在,每次迭代都不会更改团队名称,即使我每次迭代都抓取数据并且之前也能正常工作。我知道它与异步属性有关,但是我对js很陌生。有没有一种方法实际上可以每次迭代更新我的团队名称?甚至更好的方法是,可以在for循环内使用favoriteTeams
值吗?
port.onMessage.addListener(function(data) {
console.log("message recieved" + data);
var numGames = data['numGames'];
function getValue(callback) {
chrome.storage.sync.get('favoriteTeams', callback);
}
//Loop through the json object to populate the divs with score.
for (var i =0;i < numGames;i++){
var gameObj = data['games'][i];
var homeTeam = gameObj['hTeam']['triCode'].toLowerCase();
console.log(homeTeam); //This displays different team name each itteration
getValue(function (value) {
var favTeams = value['favoriteTeams'];
console.log(homeTeam); //Displays same value each itteration.
}