Я относительно новичок в асинхронном программировании и использую REST API. Мне нужно сделать запрос ко второй конечной точке (находясь в пределах первоначального запроса), где я передаю postId для получения хэштегов.
Я могу просмотреть данные из этого второго запроса хэштега, и я сохранил их в массиве, однако, когда я пытаюсь получить данные с использованием индексов, я не могу просмотреть результат.
Мне нужно отобразить эти хэштеги на плитках сообщений. Пожалуйста, смотрите изображение ниже:
Ресурсные плитки без хэштегов
Я пытался распространять, forEach, отображать и просматривать элементы массива по индексу. Я не могу манипулировать данными.
.then( function( data ) {
// Add result data to resources array.
resources.push( ...data );
if ( resources.length == totalCount ) {
$("#loader > span").removeClass("spinner-loader");
var displaying = 0;
if(resources.length >= 0) {
resources.forEach((item, index) => {
if(index < pageValue) {
//empty array for adding hastags to
var hashTags = [];
function getTags(postId){
$.when(
$.getJSON("http://localhost:8888/who/wp-json/wp/v2/hashtag?post=" + postId))
.then(hashtags=>{
hashtags.forEach(hashtag=>{
hashTags.push({"hashtag" : hashtag.name});
});
})
//I assume that the second then is needed to process the array once the first then has completed
.then(data=>{
hashTags.forEach(item => {
for (var tag in item) {
return item[tag];
}
});
})
}
getTags(item.id);
console.log("Hastag array:", hashTags); // will display array
console.log("First hastag:", hashTags[0]); //displays undefined
$('#resources-container').append(