首页 > 解决方案 > Postgres Javascript Promise 不返回修改后的结果

问题描述

我需要一些帮助来理解 Javascript 承诺。我正在使用 postgres,我想要一个函数,该函数将按照下面的示例获取一组对象

[ { airlineName: 'NZ',
  { airlineName: 'TN']

我希望它返回数组如下

[ { airlineName: { iatacode: 'NZ', airlineName: 'Air New Zealand' },
{ airlineName: { iatacode: 'TN', airlineName: 'Air Tahiti Nui' }]

为简单起见,我在这里简化了查询,但是查询工作正常,

如果我控制台记录数组,就会出现问题,我会以上面正确的格式得到结果,但是如果我尝试返回语句,我会得到未定义的传回!

有任何想法吗?

exports.extractAirlineName = (flightInfo) => {

    db.many("SELECT airline_name FROM airline_info WHERE iatacode IN 'NZ', 'TN'")
   .then(airline => {
    flightInfo.forEach((flight, index) => {
    flight.airlineName = {
        iatacode: flight.airlineName,
        airlineName: airline[index].airline_name
          };

        // this shows the correctly populated object
          console.log(flightInfo);

            //this just returns undefined
          return flightInfo; 
        });
    });
};

标签: javascriptarrayspostgresqlnodesjavascript-objects

解决方案


推荐阅读