发布于 2015-12-29 04:41:26
要理解您的问题的答案,您确实需要了解node.js 事件循环。我强烈建议访问该链接,并遵循其中的几个链接。
如果必须执行同步操作,请注意是,同步调用将阻止上的所有其他请求,即进程。如果您希望同时提供多个客户机/远程服务,那么您肯定希望使用node.js中的node.js来生成并发进程。
另外,如果您的同步操作足够慢到影响您的QoS,那么在等待同步操作完成时熟悉process.nextTick并防止进程完全停止是一个非常明智的想法。
发布于 2015-12-29 03:46:44
据我所知,同步请求并不会阻塞所有用户,但是在我这样做之前,如果我不能完全确定,我会进行一些测试。使用期货或其他库,可以发送同步请求,这确实不是最优的,但是如果开发人员没有权利/可能处理所有源代码,那么这可能是一个必要的问题。
如果这是在客户端完成的(不是这种情况,但无论如何让我们澄清一下),那么来自浏览器的同步请求如下所示:
funcion Foo(){
var request = new XMLHttpRequest();
request.open("GET", "http://server.com", false);
request.send();
function handleResponse(response) {
console.log(response);
}
handleResponse(request.responseText);
}https://stackoverflow.com/questions/34503840
复制相似问题