Javascript 导出链承诺的返回值

Javascript 导出链承诺的返回值,javascript,jquery,promise,axios,es6-promise,Javascript,Jquery,Promise,Axios,Es6 Promise,如何导出多个承诺的返回值。我需要将两个数据从第一个API导出到第二个API数据。这意味着先将第一个数据插入数组,然后将第二个数据返回该数组,并从另一个.js文件导出以供使用 我试图搜索如何在then方法中返回值。但是,当我将导入的文件调用到另一个.js文件时,它会记录[Promise,Promise,Promise…] API.js Display.js Console.log结果 这将回报一系列承诺 由于您要用它来解决一个承诺,因此您将获得该数组,从而获得日志中所看到的内容 你需要返回一个承诺

如何导出多个承诺的返回值。我需要将两个数据从第一个API导出到第二个API数据。这意味着先将第一个数据插入数组,然后将第二个数据返回该数组,并从另一个.js文件导出以供使用

我试图搜索如何在then方法中返回值。但是,当我将导入的文件调用到另一个.js文件时,它会记录[Promise,Promise,Promise…]

API.js

Display.js

Console.log结果

这将回报一系列承诺

由于您要用它来解决一个承诺,因此您将获得该数组,从而获得日志中所看到的内容

你需要返回一个承诺,这样它就会被采纳


创建一个承诺,该承诺将在数组中的所有承诺都已解决时解决。

即使我删除了return new promise,它仍会记录3[promise,promise,promise],@因此,如果没有,则无法导出结果值,而只能导出承诺。只需等待导入模块的文件中的承诺。您想在promises数组中使用promise.all,但我需要使用第一个API的数据,因为id位于第一个API中,如data.mapi=>axios.geturltwo?getID${I.id}@Bergi@junreyd从第一个API获取数据并将其传递到第二个API已经开始工作。您的问题只是getAllDataVHistory中的承诺数组,但我需要与urlone和urltwo API进行通信。要在调用urltwo之前将id从urlone传递到urltwo,首先需要从urlone获取id。就像-data.mapi=>axios.geturltwo?getID${i.Id}@junreyd-So?这一切都发生在你的问题之前。
function getAllData(url) {
    return axios.get(url, {
        headers: {
            "Accept": "application/json; odata=verbose"
        }
    }).then(response => response.data.d.results);
}

function getAllDataVHistory(data) {

    return data.map(i => axios.get(`urltwo?getID${i.Id}`).then(response => {
        return response.data;
    }));
}

export const final = () =>
    getAllData(`urlone`)
    .then(data => getAllDataVHistory(data));
import {
   final
} from "./API.js";

final().then(en => {
    // return new Promise((resolve, reject) => {
    //   if (true) {
    //    return resolve(console.log(en));
    //   } else {
    //    return reject("promise failed");
    //   }
    // });
   console.log(en);
});
(3) [Promise, Promise, Promise]
return data.map(i => axios.get(`urltwo`)