【问题标题】:node.js how to wait for 20 functionsnode.js如何等待20个函数
【发布时间】:2018-05-05 05:13:27
【问题描述】:

所有函数执行完毕后如何调用回调函数?

所有函数必须同时启动,当所有函数运行完毕后,运行回调

function step_one(callback){
    parse1site();
    parse2site();
    parse3site();
    parse4site(); 
    parse5site();
    parse6site();
    parse7site();
    parse8site();
    parse9site();
    parse10site(); 
    parse11site();
    parse12site();
    parse13site();
    parse14site(); 
    parse15site();
    parse16site();
    parse17site();
    parse18site();
    parse19site();
    parse20site();
}

示例函数

function parse1site(){
    var URL = "https://site1.com";
    needle.get(URL, function(error, response){
        if (!error && response.statusCode == 200){
            data["site1"] = response.body;
            console.log("OK");
        } else{
            console.log("error");
        }
    });
}

【问题讨论】:

标签: node.js


【解决方案1】:

我会将您对 needle 的用法更改为 promise API,然后使用 Promise.all

var p1 = needle('get', 'https://server.com/posts/12');
var p2 = needle('get', 'https://server.com/posts/13');
//...
Promise.all([p1,p2]).then((data)=>{
  // here you will get the response of all of your requests in array data
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    相关资源
    最近更新 更多