首页 > 解决方案 > 附加来自不同 API 的响应

问题描述

我的网站有这个 API。我想要做的是从这个控制器函数发送checklist_datadata作为单个响应。

我怎样才能做到这一点?

const getNumberOfApprovedCreators = (callback) => {
      Pages.find({ status: "ACTIVE" })
        .populate("user")
        .exec(async (err, data) => {
          if (err) return callback(err, 500, null);
          else {
            for await (page of data) {
              let { err, status, checklist_data } = await checklistController.getActions(
                page.user
              );
              
    
            }
            return callback(null, 200, data);
          }
        });
    };

标签: node.jsapiexpressasync-await

解决方案


您可以将所有数据收集checklist_data到一个数组中,然后将该数据和其他数据都放入一个对象中,并使该对象成为您从控制器发送回的对象:

const getNumberOfApprovedCreators = (callback) => {
    Pages.find({ status: "ACTIVE" })
        .populate("user")
        .exec(async (err, data) => {
          if (err) {
              return callback(err, 500, null);
          } else {
            const checklist_results = [];
            for await (page of data) {
              let { err, status, checklist_data } = await checklistController.getActions(
                page.user
              );
              if (err) return callback(err, 500, null);
              checklist_results.push(checklist_data);
            }
            return callback(null, 200, {data, checklist_results});
        }
    });
};

推荐阅读