我在网络编程相对较新,所以这可能是显而易见的一些,但不是我。请求/响应对如何匹配异步请求?在极端情况下,我可能有一个异步jQuery请求,它会调用使用node.js的服务器,并且也是异步的。如果我做了很多这种类型的调用,看起来请求/响应会混淆起来。有哪些设施可以确保他们不会混淆?匹配响应与请求node.js
0
A
回答
0
请求和它们的响应不会混淆在一起,因为通常将回调函数提供给启动对服务器的请求的函数。节点将两者连在一起。
例如:
http.get("http://www.google.com/index.html", function(res) {
console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
的http.get功能将启动,以谷歌的请求和节点将参考存储到您的回调函数(函数(RES){...})。
然后,节点将继续执行您当前的函数(在http.get之后的任何代码),直到它不再有任何代码执行为止。
只要谷歌开始发送响应并且节点没有做其他事情,节点就会找到你的函数,相应的响应对象将被传递给它,为你准备好使用它。
节点是单线程的,这意味着它一次不能做超过1个事情。这就是为什么它不会调用你的回调函数,直到它完成执行谷歌已经回复的当前功能和。
看看这里的更多信息:http://nodejs.org/api/http.html#http_class_http_clientrequest
PS:你没有提供一个回调函数。但是,如果你不这样做,你永远不会知道请求是否成功。所以最好总是提供一个。至少它应该记录任何错误。
相关问题
- 1. GET请求管道HTTP响应与PUT请求与Node.js
- 2. Alamofire响应不匹配请求
- 3. node.js请求点响应
- 4. Angular.js请求/响应Node.js
- 5. node.js响应只有一个html请求
- 6. Node.js - JSON响应请求中断
- 7. node.js:模拟http请求和响应
- 8. Node.js写入http请求响应
- 9. 使用响应链接GET请求Node.js
- 10. Node.js HTTP模块:响应+请求
- 11. Node.js如何响应升级请求?
- 12. 响应与特定请求
- 13. AJAX POST请求与响应
- 14. NSURLCacheStoragePolicy请求与响应
- 15. 将HTTP响应与其相应的HTTP管道请求进行匹配
- 16. HTTP请求与Node.js
- 17. 在响应正文与Node.js请求之间获取undefined?
- 18. 如何匹配对Netty客户端请求的响应?
- 19. RIA服务匹配对请求的响应
- 20. Ajax请求和我的Symfony 1.4响应:内容不匹配
- 21. 异步回调中的请求和响应不匹配
- 22. 正则表达式:匹配,解析FTP响应请求
- 23. 如何测试API请求和响应与C#中的swagger定义匹配
- 24. 请求与RESTITO的部分匹配
- 25. 匹配axios POST请求与moxios
- 26. Alamofire请求响应?
- 27. axis2请求响应
- 28. HttpPost请求响应
- 29. HTTP请求响应
- 30. ASP.NET - 请求/响应
传输(HTTP)不是异步的,但是它在服务器上的处理是&client端。特定的tcp连接(如果多个请求同时运行有几个)是已知的,并且每个连接都有自己的句柄,并且应用程序没有办法“忘记”哪个连接用于什么操作/回调。 – Wrikken