Node.js 对象的值为';由映射函数[nodjes]分配的t

Node.js 对象的值为';由映射函数[nodjes]分配的t,node.js,array.prototype.map,Node.js,Array.prototype.map,有人能告诉我为什么返回的对象没有赋值吗? 现在我想把这个日期戳格式化成四分之一的值,这样我就可以在前端很好地显示出来。这是处理前端请求并通过Express发送回的控制器 exports.getHistoricalOpp = async (req, res) => { const hisOpps = await Opportunity.find({original_id: req.params.id, deleted_opportunity: true}); const modH

有人能告诉我为什么返回的对象没有赋值吗? 现在我想把这个日期戳格式化成四分之一的值,这样我就可以在前端很好地显示出来。这是处理前端请求并通过Express发送回的控制器

  exports.getHistoricalOpp = async (req, res) => {
  const hisOpps = await Opportunity.find({original_id: req.params.id, deleted_opportunity: true});
  const modHisOpps = hisOpps.map(async (el) => {
    const formatQuarter = await moment(el.timing).format("Q");
    el.quarter = formatQuarter;
    console.log(el.timing);
    return el;
  });
  await Promise.all(modHisOpps).then(data => {
    console.log('response',data);
    res.json(data);
  }).catch(err => {
    console.log(err)
  })
}
答复:

[{u id:5b61bc933d93fc2dc0a3d11a,

[我不能复制这个。当我用模拟数据尝试它时,
quarter
被添加到对象中。不过有一点需要注意的是,你在等待非异步代码,这是不必要的复杂事情。没有理由等待从
时刻返回的
是同步的。这很奇怪,因为当我
控制台时og(data[1].quarter)
它记录格式化的文本。但是当我记录res数组时,对象上没有quarter。