1

我遇到了一个我知道是因为异步方法的问题。
我需要将我所有的 chrome 扩展存储在一个数组中。
有问题的代码:

1  var ArrayExtensions = new Array ();<br>
2  chrome.management.getAll(function (info) {<br>
3  for (var i = 0; i < info.length; i++) {<br>
4  if (info[i].type== "extension" ){<br>
5  ArrayExtensions.push(info[i].name);}}   });<br>
6  for (var i = 0; i < ArrayExtensions.length; i++) {<br>
7  alert(ArrayExtensions[i]);<br>
8  }

使用此代码,我没有收到任何警报窗口。

但是,当我 alert(ArrayExtensions.length);在第 5 行和第 6 行之间添加时,在第 9 行中,我收到了一个编号为 0 的警报,我的扩展名(代码工作)和最后一个窗口显示了正确的扩展数。

显然我需要等待一段时间才能将值存储在数组中,但是我怎样才能以更好的方式解决这个问题呢?

4

0 回答 0