在Node.js中的同步请求

11 浏览
0 Comments

在Node.js中的同步请求

如何让Node.js中的'request'模块以同步方式加载内容?我看到的最好的建议是通过使用回调函数,让函数在完成加载资源之前不返回自身。我试图在代码中内联使用'request'函数(需要根据该数据处理一些不能放在回调函数中的事务)。

那么我该如何使用'request'模块的回调函数,以防止其在加载资源完成之前返回自身呢?

我正在运行一个循环,从API下载两个值,然后根据这些值进行一些数学运算。虽然这些数学运算可以在回调函数中完成...但是循环将在没有执行下一个操作所需的值的情况下继续进行(因此,阻止循环在数据准备好之前继续前进将解决这个问题)。

 /* 循环 */ {
    /* URL生成 */
    request({url: base + u_ext}, function(err, res, body) {
        var split1 = body.split("\n");
        var split2 = split1[1].split(", ");
        ucomp = split2[1];
    });
    request({url: base + v_ext}, function(err, res, body) {
        var split1 = body.split("\n");
        var split2 = split1[1].split(", ");
        vcomp = split2[1];
    });
    /* 需要在函数获取变量之后、循环继续之前进行数学运算 */
}

0