我遇到一个问题,我知道是因为异步方法 我需要将所有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 }
使用此代码,我没有得到任何警报窗口。
但是当我在第5行和第6行以及第9行之间添加 alert(ArrayExtensions.length);
时,我收到了一个数字为0的警报,我的扩展名(代码正常)和最后一个窗口显示了正确的扩展数。 / p>
显然我需要等待一段时间才能将数组中的值存储到方法中,但是如何以更好的方式解决这个问题呢?