mongoose返回的数据解构失败.

业务场景1: 自定义返回的数据格式

async function testPromise() {
  const promiseName = new Promise(resolve => {
    resolve({ name: 'xiaobe' });
  });
  const promiseAge = new Promise(resolve => {
    resolve({ age: '22' });
  });
  const result = await Promise.all([promiseName, promiseAge]);
  const [name, age] = result;
  // return result;
  return {
    ...name,
    ...age,
  };
}

async function test() {
  const res = await testPromise();
  console.log('res', res);
}

test()

业务场景2: 返回mongoose查询mongodb返回的数据

// mongodb数据库数据格式
{
    "_id": ObjectId("5de62a3aa1b4c42f7fb66d05"),
    "currentProgress": 10
}

// 获取数据
function fetchClockDay() {
  return new Promise((resolve, reject) => {
    ClockDayModel.findOne({}, { _id: 0 }, (err, res) => {
      if (err) {
        reject(err);
      }
      resolve(res); // 返回格式为{ "currentProgress": 10 }
    });
  });
}

// 请求
async function fetch() {
  const result = await Promise.all([
    fetchDailyDoneNum(),
    fetchDailyDoneProgress(),
    fetchClockDay(),
  ]);
  const [doneNum, doneProgress, clockDay] = result;
  return { doneNum, doneProgress, ...clockDay };
}

解构部分数据被转换,不清楚是因为什么?

待解决 悬赏分:0 - 离问题结束还有 237天14小时51分7秒
反对 0举报 0 收藏 0

我来回答

回答1