node.js - 电子中的并发http请求(并发)?
问题描述
我正在尝试从电子应用程序发送到 http 请求。两个请求都需要 10 秒才能得到响应。
var app = require('electron').app;
app.whenReady().then(function () {
var net = require('electron').net;
var request0 = net.request('http://httpbin.org/delay/10');
console.log(new Date().toISOString(), 'created Request0');
request0.on('response', function (response) {
console.log(new Date().toISOString(), "STATUS: " + response.statusCode);
});
console.log(new Date().toISOString(), 'before request0 end');
request0.end();
console.log(new Date().toISOString(), 'after request0 end');
var request1 = net.request('http://httpbin.org/delay/10');
console.log(new Date().toISOString(), 'created Request1 to');
request1.on('response', function (response) {
console.log(new Date().toISOString(), "STATUS: " + response.statusCode);
});
console.log(new Date().toISOString(), 'before request1 end');
request1.end();
console.log(new Date().toISOString(), 'after request1 end');
});
我希望两个响应都会以很小的时间差收到(在脚本开始后约 10 秒后),但我看到响应有 10 秒的差异。因此,如果第一个请求没有完成,看起来第二个请求不会开始。
2021-04-28T09:11:00.754Z created Request0
2021-04-28T09:11:00.754Z before request0 end
2021-04-28T09:11:00.754Z after request0 end
2021-04-28T09:11:00.754Z created Request1 to
2021-04-28T09:11:00.754Z before request1 end
2021-04-28T09:11:00.754Z after request1 end
2021-04-28T09:11:11.055Z STATUS: 200
2021-04-28T09:11:21.178Z STATUS: 200
是否有可能改变这种行为?
解决方案
推荐阅读
- mongodb - 从 mongodb 4.0 中删除重复记录
- node.js - 如何将 ssl private-key.txt 转换为 private.key 扩展名
- c# - Xamarin 在页面之间传递参数
- c# - C# xls & xlsx 查询从工作表中选择,而不考虑工作表名称
- c# - Cortana 是否支持 webhook/调用外部 API?
- php - 内核中的身份验证声明和 laravel 中的路由无法正常工作
- emacs - 如何在 magit 中暂存/提交当前缓冲区?
- java - 从 JDBC 连接到 MSSQL 服务器时出现 Windows 身份验证问题
- java - FLAG_DIM_BEHIND 导致 android oreo 滞后
- kotlin - 需要改进“非常尴尬”的 Rx 逻辑来组合不同的数据源