如何使 Node.js 中的“ request”模块以同步方式加载内容?我所见过的最好的建议就是以某种方式使用回调函数,让函数在完成之前不返回自己。我尝试在代码中内联使用“ request”函数(需要根据不能放在回调中的数据来处理事情)。
那么,我如何使用“ request”模块的回调来保证它在加载完资源之前不会返回自己呢?
我所做的是运行一个循环,从 API 下载两个值,然后必须根据这些值进行一些计算。虽然数学可以在回调中完成... ... 但是循环将在没有执行下一个操作所需的值的情况下进行。(因此,在数据准备就绪之前停止循环将解决这个问题)
/* loop */ {
/* URL Generation */
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];
});
/* math which needs to be after functions get variables and before loop advances */
}