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

标签 node.js rest api express promise

如何将 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/

相关文章:

c++ - 是否可以在 nodejs 中使用 C++ 类?

java - 如何使用http post将多个参数传递给restful webservice

java - 如何在基于 REST 的 Web 服务中一次处理数千个请求?

api - REST 风格的 API : Modelling a collection of resources that have access to another resource

python - SQLITE 3安装错误

node.js - Cassandra nodejs eachRow 在数据库查询完成之前返回

php - 如何创建安全的 php 和 javascript api

api - 如何使用github API从github的URL获取主要语言或语言列表?

node.js - 等待 Mongoose 查询完成

javascript - Google Maps Web API - KML IconStyle 颜色不起作用