我的 Nodejs 应用程序中有一个名为 get_source_at 的函数。它接受 uri 作为参数,其目的是从该 uri 返回源代码。我的问题是我不知道如何使函数同步调用请求,而不是给它那个回调函数。我want控制流停止加载 uri 所需的几秒钟。我怎样才能实现这个目标?
function get_source_at(uri){
var source;
request({ uri:uri}, function (error, response, body) {
console.log(body);
});
return source;
}
另外,我已经阅读了有关“事件”以及节点如何“事件化”的内容,我在编写代码时应该尊重这一点。我很高兴这样做,但我必须有一种方法来确保在继续我的应用程序的控制流之前我拥有来自 uri 的源代码 - 所以如果这不是通过使函数同步,那么如何才能完成?
你可以与deasync https://github.com/abbr/deasync:
function get_source_at(uri){
var source;
request({ uri:uri}, function (error, response, body) {
source = body;
console.log(body);
});
while(source === undefined) {
require('deasync').runLoopOnce();
}
return source;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)