gpt4 book ai didi

node.js - 如何在 Promise.all 中将 URL 中的数组作为参数传递

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:50 25 4
gpt4 key购买 nike

如何将 url_user 数组作为 Promise.all 中的参数传递?

我使用 Node.js 和 Express。

url_project = 'https://api.projects'
url_user = [
'https://api.users/1',
'https://api.users/2',
'https://api.users/3',
'https://api.users/4',
'https://api.users/5',
'https://api.users/6'
]

index.js

<div>
<%= projectsApi.id %>
<% for (var i = 0; i < usersApi.length; i++) { %>
<%= usersApi[i].id %>
<% } %>
</div>

server.js

var rp = require('request-promise');

Promise
.all([rp({uri: url_project, json:true}), rp({uri: url_user, json:true})]) //This where I want to edit
.then(([projectsApi, usersApi]) => {
res.render('index', {projectsApi, usersApi});
}).catch(err => {
console.log(err);
res.sendStatus(500);
});

当我输入 Promise.all([rp({uri: url_project, json:true}), rp({uri: url_user[0], json:true})]) 时,它有效,因为 url_user[0] 不是数组。

但是我想传递数组 url_user 中的所有数据。

最佳答案

您可以使用mapspread operator :

url_project = 'https://api.projects'

url_user = [
'https://api.users/1',
'https://api.users/2',
'https://api.users/3',
'https://api.users/4',
'https://api.users/5',
'https://api.users/6'
]

const promises = [
rp({uri: url_project, json:true}),
...url_user.map(value => rp({uri: value, json:true})
];

Promise.all(promises)
.then(values => {
console.log(values);
// Adjust your response
// ...
})
.catch(err => {
console.log(err);
res.sendStatus(500);
});

关于node.js - 如何在 Promise.all 中将 URL 中的数组作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59709361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com