Postgres Javascript承诺不是';t返回修改后的结果
我需要一些帮助来理解Javascript承诺。我使用的是postgres,我想要一个函数,该函数将接受一个对象数组,如下例所示Postgres Javascript承诺不是';t返回修改后的结果,javascript,arrays,postgresql,nodes,javascript-objects,Javascript,Arrays,Postgresql,Nodes,Javascript Objects,我需要一些帮助来理解Javascript承诺。我使用的是postgres,我想要一个函数,该函数将接受一个对象数组,如下例所示 [ { airlineName: 'NZ', { airlineName: 'TN'] 我希望它返回数组,如下所示 [ { airlineName: { iatacode: 'NZ', airlineName: 'Air New Zealand' }, { airlineName: { iatacode: 'TN', airlineName: 'Air Tahit
[ { airlineName: 'NZ',
{ airlineName: 'TN']
我希望它返回数组,如下所示
[ { airlineName: { iatacode: 'NZ', airlineName: 'Air New Zealand' },
{ airlineName: { iatacode: 'TN', airlineName: 'Air Tahiti Nui' }]
为了简单起见,我在这里简化了查询,但是查询工作正常
如果我在控制台中记录数组,则会出现问题,我将以上面的正确格式获得结果,但是如果我尝试返回语句,则返回undefined
有什么想法吗
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;
});
});
};
flightInfo
将不定义异步js执行。要处理结果,舒尔需要处理extractAirlineName
方法extractAirlineName
无法返回尚不存在的数组。您可以为它返回一个承诺(您已经在构建一个!),购买您需要返回它。是我还是缩进?看起来您正试图在然后回调中从forEach
回调返回。