我正在尝试制作一个 node express 应用程序,我从不同的 url 获取数据,调用 node-fetch 以提取某些页面的正文和有关某些 url 端点的其他信息。我想然后呈现一个 html 表以通过信息数组显示此数据。我在调用呈现信息时遇到问题,因为所有函数都是异步的,因此在调用呈现页面之前很难确保所有承诺调用都已解决。我一直在研究使用 bluebird 和 .finally() 和 .all() 的其他承诺调用,但它们似乎不适用于我的数据,因为它不是承诺调用数组,而是对象数组。每个对象是 4 个承诺调用,用于在一行中获取与我的表的一列相关的数据。
var express = require('express');
var fetch = require('node-fetch');
fetch.Promise = require('bluebird');
var router = express.Router();
const client = require('../platform-support-tools');
function makeArray() {
var registry = client.getDirectory();
var data_arr = [];
for (var i = 0; i < registry.length; i++) {
var firstUp = 0;
for (var j = 0; i < registry[i]; j++) {
if (registry[i][j]['status'] == 'UP') {
firstUp …Run Code Online (Sandbox Code Playgroud)