Also ich muss das Ergebnis eines Versprechens verwenden, um eine weitere FFTCH-Anfrage zu machen, ich arbeite mit dem Rest API für WordPress, und ich brauche die ID der Unterkategorien im Post-Objekt, um diesen Kategorienamen abzurufen und baue zwei Arrays, eins mit den Posts und eins mit Kategorien, die zur Verfügung stehen. Hier ist meine FunktionJavascript. Warten auf verschachtelte Fetch Versprechen
function fetchAccordionData()
{
const id = document.querySelector('.acc').getAttribute('data-id'),
wpRestAPI = '/wp-json/wp/v2/';
return fetch(wpRestAPI + 'posts?per_page=100&categories=' + id)
.then((resp) => resp.json())
.then((data) =>
{
let curId = [], subCatList = [];
data.map((post) =>
{
let catList = post.categories.filter((c) => c !== parseInt(id));
fetch(wpRestAPI + 'categories/' + catList[0])
.then((r) => r.json())
.then((cat) =>
{
if(!curId.includes(cat.id)) subCatList.push({id: cat.id, name: cat.name});
curId.push(cat.id);
});
});
return {'subCatList':subCatList, 'posts':data}
});
}
Nun, wenn ich die Funktion der subCatList
Array isn `t bereit, rufen Sie noch:
fetchAccordionData().then((data) =>
{
console.log(data.subCatList, data.posts);
for(let cat of data.subCatList)
{
console.log(cat);
}
});
Also, wie kann ich wissen, wenn das Versprechen der zweiten ist so gelöst Abruf Ich kann die Daten verwenden?
Sie suchen nach 'Promise.all()'. – SLaks
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all – Andreas