【发布时间】:2022-02-13 22:21:39
【问题描述】:
如何使 Node.js 中的“请求”模块以同步方式加载内容?我见过的最好的建议是以某种方式使用回调来让函数在完成之前不返回自身。我正在尝试在代码中内联使用“请求”函数(需要根据不能放在回调中的数据进行处理)。
那么我如何使用“请求”模块的回调来防止它在加载资源完成之前返回自身?
我正在运行一个从 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 */
}
【问题讨论】:
-
你能显示一些代码吗?我相信任何同步的事情都可以以异步方式完成,但反之亦然。
-
是的,有一些伪代码。
-
这个问题是2年前的问题,这里有答案。
标签: javascript node.js