如果我写:
var source = new Array();
function doSomething(a){
chrome.bookmarks.search(a,function(items){
for(var i = 0;i<items.length;i++)
{
source[i] = items[i];
}
});
console.log(source[0].title);
alert(source[0].title);
}
在控制台中我可以看到值,但警告的是“未定义”。
有人能告诉我为什么以及如何写来获取值吗?
最佳答案
您正在错误的范围内执行 alert
- 您应该在回调函数中执行此操作。试试这个:
function doSomething(a){
chrome.bookmarks.search(a,function(items){
var source = [];
for(var i = 0;i<items.length;i++)
{
source[i] = items[i];
}
console.log(source[0].title);
alert(source[0].title);
doSomethingWithResult(source);
});
}
您在控制台中看到了正确的值,因为它显示了对此时已经填充的值的引用(在回调函数中)。
关于javascript - 如何在 chrome 的书签 API 中获取数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291574/