【问题标题】:How can I use Object (array of objects only) getting in response of API as input of another API who is expecting an array of Objects?我如何使用对象(仅限对象数组)来响应 API 作为另一个期望对象数组的 API 的输入?
【发布时间】:2021-10-10 10:29:02
【问题描述】:

我正在调用一个 API“getProjectListForInstance”并在响应中获得结果,该响应是一组对象。像这样:

[ { "_id": "uyuyiuyiuy", "project_name": "Project1", }, { "_id": "hjhjhjhjkh", "project_name": "Project2", } ]

   return new Promise((resolve, reject) => {
          RESTService.getProjectListForInstance(previousInstance)
          .then((result) => {
            this.copyProjectInfo(result);
          });
        });

现在使用上面的结果在下面的代码中。

  copyProjectInfo(projects) {
        console.log('copyProjectInfo');             
      
        return new Promise((resolve, reject) => {
            RESTService.createProjectInfoForNewInstance(projects)
            .then((result) => {
              console.log("Successfully done");
              console.log(result);
            }); 
        });
      },

上面的代码不起作用。得到 502 但是当我像下面这样在代码本身中创建一个数组时,它工作正常。

copyProjectInfo(projects) {
      console.log('copyProjectInfo');             
      let details = 
        [
          {
           "_id": "uyuyiuyiuy",
           "project_name": "Project1",
           },
          {
           "_id": "hjhjhjhjkh",
           "project_name": "Project2",
         }
       ];
        return new Promise((resolve, reject) => {
            RESTService.createProjectInfoForNewInstance(details)
            .then((result) => {
              console.log("Successfully done");
              console.log(result);
            }); 
        });
      },

在将第一个 API 接收到的对象用作第二个 API 的输入之前,我是否需要转换它?以及如何?

谢谢, 乔蒂

【问题讨论】:

标签: javascript node.js arrays object


【解决方案1】:

我认为您可以尝试使用 async/await 语法来完成这些工作。 我还删除了所有不必要的 Promises 包装器。

以下示例:

(async function run() {
  try {
    const projects = await RESTService.getProjectListForInstance(
      previousInstance
    );

    const result = await RESTService.createProjectInfoForNewInstance(projects);

    console.log(result);
  } catch (err) {
    console.log(err);
  }
})();

【讨论】:

    猜你喜欢
    • 2021-07-20
    • 1970-01-01
    • 2020-02-08
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 2021-11-11
    • 2019-05-07
    相关资源
    最近更新 更多