【发布时间】:2020-11-18 01:11:19
【问题描述】:
我正在尝试在获得 nodejs 路由后重新请求另一个网址。
所以
route('/get')
request('google.com.')
res.end(200)
当我尝试使用此代码进行负载测试时。应用无法同时处理请求。
如何解决这个问题以并行运行?
【问题讨论】:
标签: node.js
我正在尝试在获得 nodejs 路由后重新请求另一个网址。
所以
route('/get')
request('google.com.')
res.end(200)
当我尝试使用此代码进行负载测试时。应用无法同时处理请求。
如何解决这个问题以并行运行?
【问题讨论】:
标签: node.js
如果你想并行化它并在调用end之前等待一切返回,你可以使用 Promise.all。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
const promise1 = Promise.resolve(3);
const promise2 = 42;
const promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, 'foo');
});
Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
});
【讨论】: