gpt4 book ai didi

javascript - 组合 Chrome 异步 API

转载 作者:行者123 更新时间:2023-12-03 11:59:44 26 4
gpt4 key购买 nike

我需要在循环中组合两个 Chrome API,并在循环完成后将数组保存到存储中。
这就是我所拥有的

chrome.downloads.search({}, function (DownloadItem) {
for (var i=0; i<DownloadItem.length; i++) {
var itemID = DownloadItem[i].id;
chrome.downloads.getFileIcon(itemID, function(iconURL) {
DL_icons[itemID] = iconURL;
});
}
console.log(DL_icons);
});

搜索的结果是DownloadItem对象数组。我需要循环遍历它,获取 ID,并且对于每个 ID,我需要将其传递到 chrome.downloads.getFileIcon 的调用中。
getFileIcon 方法的结果是 iconURL,我需要将其推送到 ID 索引上的新数组中(我可以将其存储到具有相应 ID 的新对象中,然后将其推送到数组中,在这种情况下并不重要)。

一切完成后,我需要将其存储到本地存储(或console.log...)。现在,我为每个数组元素获取相同的 ID 和 iconURL。
基本上,我需要对内部 API 进行适当的关闭,但就是做不到。有人可以帮忙吗?

最佳答案

如果有人偶然发现类似的问题,这就是我解决它的方法,感谢@elclanrs 的建议

来自this answer

chrome.downloads.search({}, function (DownloadItem) {
for (var i=0; i<DownloadItem.length; i++) {
var itemID = DownloadItem[i].id;
(function(index) {
chrome.downloads.getFileIcon(index, function(iconURL) {
DL_icons[index] = iconURL;
console.log(DL_icons);
});
})(itemID);
}
});

我没有传递循环索引,而是传递了我的 ID 变量...工作完成

关于javascript - 组合 Chrome 异步 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com