Der folgende Ausschnitt gibt undefined
anstelle eines erwarteten Arrays von Verknüpfungen zurück. apiCall() ist von here.Zurückgeben eines Werts in einer Funktion einer Funktion
Ist es möglich, das Array zurückzugeben? Wenn das so ist, wie? Wenn nicht warum?
async function fetchData() {
await apiCall('https://www.googleapis.com/youtube/v3/search?q=leeroyjenkins&maxResults=4&part=snippet&key={KEY}',
(error, response, body) => {
return JSON.parse(body).items.map(i => 'https://www.youtube.com/watch?v=' + i.id.videoId)
})
}
fetchData().then(r => console.log(r))
EDIT: Der folgende Code scheint zu funktionieren;
async function fetchData(param, fn) {
await apiCall('https://www.googleapis.com/youtube/v3/search?q=leeroyjenkins&maxResults=4&part=snippet&key={KEY}',
(error, response, body) => {
fn(JSON.parse(body).items.map(i => 'https://www.youtube.com/watch?v=' + i.id.videoId))
})
}
fetchData('lee', function(Ar) { console.log(Ar) })
};
Kann jemand darauf hinweisen, warum?
_Wenn nicht warum? _ - 'apiCall' gibt kein Versprechen, nicht wahr? – Federkun
Diese Funktion Rückgabe ist nicht sync, gibt es kein Versprechen, – Remario
näher Analyse zeigt, dass eine Maped-Werte zurückgeben, die kein Versprechen Schnittstelle ist. – Remario