Ich versuche, Daten von 3 async api Anrufe zurückzukehren, um die Daten mit promise.all()
Zurückgeben von Daten aus promise.all()
function apiReq1(apiCred){
const rds = new apiCred.RDS();
var request = rds.describeDBInstances();
return request.promise();
}
function getAPIs (apiCred) {
return Promise.all([apiReq1(apiCred), apiReq2(apiCred), apiReq3(apiCred)]).then(function(data) {
console.log(data[0])
console.log(data[1])
console.log(data[2])
return data
// ideal return
//myMap.set('bar', data[0])
//.set('foo', data[1])
//.set('baz', data[2]);
//return myMap
});
}
// Function that is calling getAPIs
function getAll() {
apiCred = getApiCred()
page = getAPIs(apiCred)
console.log(page)
}
Die console.log druckt wie aber erwartete ich möchte in der Lage sein, zurückzukehren das Objekt data
oder idealerweise ein neues Objekt mit allen drei Iterablen zu allen Aufrufen getAPIs()
. Dies ist das erste Mal, dass ich versuche, Versprechungen zu verwenden, und ich habe das Gefühl, dass es ein Schlüssel-Async-Konzept gibt, das mir fehlt, wenn ich versuche, die Daten zurückzugeben.
habe ich versucht, dies jedoch, wenn ich den Wert zurück von 'getAPIs' bekommen ich' Versprechen {} 'und nicht das Objekt, das von dem Versprechen –
user3116846
Was hast du protokolliert, wenn du es anrufst? Zeige deine 'console.log' Anweisung –
Bearbeitet oben, wie ich die Funktion und die console.log Anweisung anrufe, die – user3116846