关于开发chrome插件无法访问数组元素的问题?

function hisSearch(){
    var res = [];
    chrome.history.search({
        text : ""
    },function(HistoryItem){
        for(var i=0;i<HistoryItem.length;i++){
            res.push(HistoryItem[i].title);
        }
    });
    return res;
}

document.addEventListener('DOMContentLoaded', function () {
    var res = hisSearch();
    console.log(JSON.stringify(res));
    console.log(res);
    console.log(res[4]);
});

这是查询谷歌浏览器访问历史记录

在浏览器控制台

clipboard.png

第一行输出了一个空数组,第二行又莫名输出了一个100项的数组,我点开了,确实有数据,第三行又输出了未定义,这是怎么回事呢?

我访问不到res[4]

我又打印了下console.log(res.length),输出了0;

clipboard.png

可是res点开下拉里面有数据

阅读 3k
1 个回答

是回调函数内获取不到外部变量的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题