在(Node Express JS)中,可以使用Promise.all()方法来等待多个fetch响应并将数据推送到数组中,然后再将数据返回给客户端。
以下是实现的步骤:
const express = require('express');
const fetch = require('node-fetch');
const app = express();
const port = 3000;
app.get('/data', async (req, res) => {
try {
// 定义要请求的URL列表
const urls = ['url1', 'url2', 'url3'];
// 使用Promise.all()等待所有请求完成并将结果推送到数组中
const responses = await Promise.all(urls.map(url => fetch(url)));
// 将响应的JSON数据推送到结果数组中
const data = await Promise.all(responses.map(response => response.json()));
// 将数据发送给客户端
res.json(data);
} catch (error) {
console.error(error);
res.status(500).send('Server Error');
}
});
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
这样,当客户端请求/data
路径时,服务器将会等待多个fetch响应,将响应的JSON数据推送到数组中,然后将数组作为响应发送给客户端。
注意:在实际使用中,应该替换url1
、url2
、url3
为实际的URL,并根据需要进行错误处理和其他逻辑。
领取专属 10元无门槛券
手把手带您无忧上云