你怎么知道你所调用的所有asyncs请求何时完成?

时间:2017-01-19 20:00:02

标签: node.js

我使用request来获取http get请求并获取某些页面的html。

我使用的代码具有这种结构。

function updateAll()
{
    request(mainurl, function(error, response, html){
        //get urls from html
        Array.from(urls).forEach(function(url) {
            update1(url);
        });
    });
}

function update1(url)
{
    request(url, function(error, response, html){
        //get urls from html
        Array.from(urls).forEach(function(url) {
            update2(url);
        });
    });
}

function update2(url)
{
    request(url, function(error, response, html){
        //get urls from html
        Array.from(urls).forEach(function(url) {
            results.push(url);
        });
    });
}

我怎么知道它何时完成更新? 谢谢。

1 个答案:

答案 0 :(得分:0)

这里最好的解决方案是使用Promises API。但是在需要原始决策的情况下:你可以为所有函数添加回调参数,并等待它们中的最后一个被触发。