Node.js异步循环,下一个循环之前从函数进行回调

ly

我有一个async.whilst循环,它循环遍历hashtag每个循环中调用的字符串数组

在for循环中,searchTwitter()功能被触发。我需要for循环暂停,直到从searchTwitter()函数返回回调为止,然后有2秒的暂停,然后for循环继续到hashtag数组中的下一个字符串传递给searchTwitter()

在for循环完成之后,async.whilst循环中会出现超时,持续10秒,然后while循环再次重新加载for循环。

我下面的代码searchTwitter()立即触发所有功能,而无需等待回调或setTimeout(callback,2000)

async.whilst(
    function () { return 0 == 0 },
    function (callback) {

        for (var i = 0; i < hashtag.length; i++) {
            searchTwitter(hashtag[i]);
            setTimeout(callback, 2000);
        }

        setTimeout(callback, 10000);
    },
    function (err) {
    }
);


function searchTwitter(tag, callback){

    T.get('search/tweets', { q: '#fun', count: 100 }, function(err, data, response) {
        console.log(data);
        callback();
    });

}
迈克·S

就像他的答案中提到的@Anatoliy一样,async.eachSeries它将帮助您解决for循环问题。它将遍历hashtag数组,仅在调用callback函数后才调用下一个项目

解决这些延迟的技巧是setTimeout在中的回调searchTwitter和中的完成回调中调用函数eachSeries像这样:

async.whilst(
    function () { return true }, // true makes more sense than 0 == 0, especially from a readability standpoint
    function (callback) {
        async.eachSeries(hashtag, function(tag, callback) {
            searchTwitter(tag, function() {
                setTimeout(callback, 2000); // Wait 2 seconds before going on to the next tag
            })
        }, function(err) {
            setTimeout(callback, 10000); // Wait 10 seconds before looping over the hashtags again
        });
    },
    function (err) {
    }
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js异步循环,下一个循环之前从函数进行回调

来自分类Dev

函数完成后,Node.js回调下一个循环

来自分类Dev

Node.js异步系列-将参数传递给下一个回调

来自分类Dev

在下一个循环之前,在For循环中等待回调

来自分类Dev

在下一个循环之前,在For循环中等待回调

来自分类Dev

如何在回调函数Node JS中打破for循环

来自分类Dev

如何在回调函数Node JS中打破for循环

来自分类Dev

for循环内部的回调函数-Node.js

来自分类Dev

Node.js用回调函数循环

来自分类Dev

Node.js用回调函数循环

来自分类Dev

如何传递一个函数作为 Node.js 中另一个函数的回调?

来自分类Dev

Node.js:来自一个函数的多个回调

来自分类Dev

在Node.js(异步)中的循环和回调中寻找正确的模式

来自分类Dev

了解Node.js异步性-循环还是嵌套回调

来自分类Dev

Node.JS函数返回异步回调函数的值

来自分类Dev

node.js请求模块,如何使用步骤将请求的URL主体传递给下一个函数

来自分类Dev

在Node.js中制作异步回调函数

来自分类Dev

after循环中的node.js回调函数已结束

来自分类Dev

Node.js,Express和Mongo:循环中的回调函数被忽略

来自分类Dev

Node.js:如何循环处理回调?

来自分类Dev

Node.js护照-Facebook回调循环

来自分类Dev

TypeError [ERR_INVALID_CALLBACK]:回调必须是一个函数。在Node.js中收到未定义

来自分类Dev

带有Express的Node.js-抛出错误与下一个错误

来自分类Dev

异步回调Node.js

来自分类Dev

Node JS Mongoose 异步回调

来自分类Dev

在函数调用返回之前,使用node.js进行循环迭代,从而造成对象问题

来自分类Dev

使用循环在Node.js中进行异步作业调度

来自分类Dev

使用Node.js异步请求在Redis中进行循环

来自分类Dev

使用Node.js异步请求在Redis中进行循环

Related 相关文章

  1. 1

    Node.js异步循环,下一个循环之前从函数进行回调

  2. 2

    函数完成后,Node.js回调下一个循环

  3. 3

    Node.js异步系列-将参数传递给下一个回调

  4. 4

    在下一个循环之前,在For循环中等待回调

  5. 5

    在下一个循环之前,在For循环中等待回调

  6. 6

    如何在回调函数Node JS中打破for循环

  7. 7

    如何在回调函数Node JS中打破for循环

  8. 8

    for循环内部的回调函数-Node.js

  9. 9

    Node.js用回调函数循环

  10. 10

    Node.js用回调函数循环

  11. 11

    如何传递一个函数作为 Node.js 中另一个函数的回调?

  12. 12

    Node.js:来自一个函数的多个回调

  13. 13

    在Node.js(异步)中的循环和回调中寻找正确的模式

  14. 14

    了解Node.js异步性-循环还是嵌套回调

  15. 15

    Node.JS函数返回异步回调函数的值

  16. 16

    node.js请求模块,如何使用步骤将请求的URL主体传递给下一个函数

  17. 17

    在Node.js中制作异步回调函数

  18. 18

    after循环中的node.js回调函数已结束

  19. 19

    Node.js,Express和Mongo:循环中的回调函数被忽略

  20. 20

    Node.js:如何循环处理回调?

  21. 21

    Node.js护照-Facebook回调循环

  22. 22

    TypeError [ERR_INVALID_CALLBACK]:回调必须是一个函数。在Node.js中收到未定义

  23. 23

    带有Express的Node.js-抛出错误与下一个错误

  24. 24

    异步回调Node.js

  25. 25

    Node JS Mongoose 异步回调

  26. 26

    在函数调用返回之前,使用node.js进行循环迭代,从而造成对象问题

  27. 27

    使用循环在Node.js中进行异步作业调度

  28. 28

    使用Node.js异步请求在Redis中进行循环

  29. 29

    使用Node.js异步请求在Redis中进行循环

热门标签

归档