Cześć, w apce mam wyszukiwarkę i wpisując jakąś wartość w inputa i zatwierdzając enterem wykuonuję zapytania do 3 backendu (axios), chciałbym, po skończeniu wykonywania tych trzech zapytań, zapisać response w jednej tablicy i następnie wyemitować zmergowaną tablicę do parenta. Nie bardzo wiem jak sie do tego zabrać, póki coś mam w uproszczeniu coś takiego:
search() {
axios.get(`/api/cds?jakies,query`, {
headers: {
Authorization: token
}
})
.then(resp => {
this.filteredAlbums = resp.data.cds;
this.emitFiltered();
})
.catch(e => console.log(e));
axios.get(`/api/cds?artist?jakies,query`, {
headers: {
Authorization: token
}
})
.then(resp => {
this.filteredArtist = resp.data.cds;
this.emitFiltered();
})
.catch(e => console.log(e));
axios.get(`/api/user-by-nick?jakies,query`, {
headers: {
Authorization: token
}
})
.then(resp => {
this.filteredUsers = resp.data;
this.emitFiltered();
})
.catch(e => console.log(e));
},
emitFiltered() {
this.$emit('filteredData', [this.filteredUsers, this.filteredArtist, this.filteredAlbums])
}
Wiem, że to nie jest optymalne i dobre rozwiązanie. dlatego pytam, bo wiem, ze da się to zrobić lepiej
EDIT: Chciałbym wywołać funkcję emitFiltered() dopiero wtedy, gdy wykonają się wszystkie trzy zapytania, niezależnie czy któryś z nich zwróci error