當我做console.log(accomdationSearchResultsData.length);
我總是在控制檯0的長度,但實際上有2個對象對象的長度總是0
對象
示例代碼
accommodationById() {
var accomdationSearchResultsData = [];
var hotelSearchCount = 0;
this.api.accommodationById(this.accomodationId).subscribe(accomdationResponse => {
var accomdation_id, accomdation_type, accomdation_hotel, accomdation_id, accomdation_rate, accomdation_hotel_id, accomdation_hotel_name, accomdation_hotel_city, accomdation_hotel_street, accomdation_hotel_state, accomdation_hotel_checkin_time, accomdation_hotel_checkout_time;
var accomdation_id = accomdationResponse.id;
var accomdation_type = accomdationResponse.name;
this.accomodationType = accomdation_type;
for (var i = 0; i < accomdationResponse.Rooms.length; i++){
accomdation_hotel = accomdationResponse.Rooms[i].hotel;
accomdation_rate = accomdationResponse.Rooms[i].rate;
this.api.getHotelByAPI(accomdation_hotel).subscribe(hotelResponse => {
accomdation_hotel_id = hotelResponse.id;
accomdation_hotel_name = hotelResponse.name;
accomdation_hotel_city = hotelResponse.city;
accomdationSearchResultsData.push({
accomdation_id: accomdation_id,
accomdation_type: accomdation_type,
accomdation_hotel: accomdation_hotel,
accomdation_rate: accomdation_rate,
accomdation_hotel_id: accomdation_hotel_id,
accomdation_hotel_name: accomdation_hotel_name,
});
});
}
this.accomodationResults = accomdationSearchResultsData;
console.log(accomdationSearchResultsData.length);
});
}
訂閱方法是異步的,因此您應該在訂閱方法內移動控制檯調用 –
請參閱鏈接問題的主要問題答案。你看到你在控制檯中看到的原因在這裏:http://stackoverflow.com/questions/38660832/element-children-has-elements-but-returns-empty-htmlcollection –