Я немного запутался из-за кода ниже.
let bookingID
result = await Promise.all(result.map(async (item) => {
bookingID = item.id;
console.log('###############################');
AData = await book.fetchA(bookingID);
console.log(bookingID);
BData = await book.fetchB(bookingID);
console.log('==============================');
return {
'AData ': AData ,
'BData ': BData ,
'id': bookingID
};
}));
В консоли я получаю следующее: (ПРИМЕЧАНИЕ. Идентификатор одинаковый. Всегда последний)
###############################
###############################
2918849262429175808
2918849262429175808
==============================
==============================
Кажется, что-то не так с l oop logi c, результат должен был быть
###############################
2918849262429175807
==============================
###############################
2918849262429175808
==============================
Но если я изменю последовательность console.log на
console.log('###############################');
console.log(bookingID);
AData = await book.fetchA(bookingID);
BData = await book.fetchB(bookingID);
console.log('==============================');
вывод (ПРИМЕЧАНИЕ. Идентификатор отличается)
###############################
2918849262429175807
###############################
2918849262429175808
==============================
==============================
Я полностью сбит с толку. 8- (
Просто найди интересную вещь. Когда я использую console.log (item.id) вместо console.log (bookingID), он может получить правильный результат id. Что происходит с 'bookingID = item.id'? Почему он всегда получает один и тот же идентификатор, когда console.log (bookingID) находится после AData = await book.fetchA (bookingID)?