gpt4 book ai didi

javascript - async.each 不运行回调函数

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:32 24 4
gpt4 key购买 nike

我试图在将数据从 reddit api 推送到数组后执行某些操作,但回调函数根本不起作用。正如您所看到的代码,它应该打印 Callback function Works! 但事实并非如此。对此有什么想法吗?

let optForReddit = {
method: 'GET',
uri: 'https://www.reddit.com/domain/eroshare.com/new.json',
json: true
}

rp(optForReddit)
.then(function(redditJSON) {
let posts = redditJSON.data.children;
let len = posts.length;
let eroJson = [];
async.each(posts, function(item, callback) {
if (isVideo(item.data.url)) {
eroJson.push(getAlbumId(item.data.url));
}
},
function(err) {
console.log("Callback function works");
if(err) console.log(err);
});
})
.catch(function(err) {
console.log(err);
})

最佳答案

async.each(posts, function(item, callback) {
if (isVideo(item.data.url)) {
eroJson.push(getAlbumId(item.data.url));
}
callback(); // this callback is for informing that i am done processing one item in array.
},
function(err) {
//this function will be invoked when the callback() in the above body was called maximum time(e.g posts.length times)
console.log("Callback function works");
if(err) console.log(err);
});

这是因为您没有每次都调用回调函数。调用时的回调告诉异步函数我已完成当前执行并调用下一个迭代。您从未调用过回调()。

关于javascript - async.each 不运行回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42185183/

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