0
我试着使用Node.js的重组复杂的JSON数组,下面是我的代码控制台打印但不响应
let n = JSON.parse(JSON.stringify(arr2));
async.forEachOf(n, function(value, key, cb1) {
let obj = [];
async.forEachOf(value.flightDetail.flightDetails, function(v, k, cb2) {
let dateTimeInfo = v.flightInformation.productDateTime;
let isNextDay = ((dateTimeInfo.dateVariation) ? true : false);
let sectorInf = v.flightInformation.location;
let flightDetails = {};
flightDetails.eType = v.flightInformation.productDetail.equipmentType;
flightDetails.marketingCarrier = v.flightInformation.companyId.marketingCarrier;
flightDetails.operatingCarrier = v.flightInformation.companyId.operatingCarrier || v.flightInformation.companyId.marketingCarrier;
obj['segment-' + ((k) + 1)] = {
departureDate: dateTimeInfo.dateOfDeparture,
arrivalDate: dateTimeInfo.dateOfArrival,
departureTime: dateTimeInfo.timeOfDeparture,
arrivalTime: dateTimeInfo.timeOfArrival,
isNextDay: isNextDay,
sourceSector: sectorInf[0].locationId,
sourceTerminal: sectorInf[0].terminal || "",
desitinationSector: sectorInf[1].locationId,
desitinationTerminal: sectorInf[1].terminal || "",
flightInfo: flightDetails
}
console.log(JSON.stringify(obj)); **-- This doesn't working**
console.log(obj); **-- this does work**
cb2();
}, function() {
arr3.push({
flight: obj,
price: value.priceObject
});
cb1();
});
}, function() {
callback();
});
当我尝试输出由于某种原因,它没有最终ARR3响应似乎在工作。但是,当我安慰它,它的打印正确。
这是否与promise/async有关。
你可以创建jsfiddle吗? – Ashvin777
您是否正在进行异步呼叫?我试图弄清楚为什么你使用'async.forEachOf'而不是同步的东西。另外,什么是特别不工作? – JohnnyHK
你在哪里打印数组? – marvel308