I'm still fairly new to promises, and all the roads on what I'm currently doing lead me to Promise.all()
, but I'm not sure how to handle the results.
I have some data like this
let data = {
"format_oid":["35474527960032","2595837960032"]
};
I then pass it to a function like
server.js
jobHandler.handle(data)
.then((info) => {
console.log(info);
})
.catch((err) => {
console.error(err);
});
Within my jobHandler
class I have
jobHandler.js
class Handler {
// constructor etc
handle(data) {
return this.extract(data);
}
extract(data) {
let request = data.format_oid.map( (releaseId) => {
return this._getReleaseId(releaseId);
});
return Promise.all(request);
}
_getReleaseId(releaseId) {
return new Promise( (resolve, reject) => {
if (_hasRelease(releaseId)){
resolve('yay');
} else {
reject('boo');
}
});
}
Currently request
will have an array of Promises like [ Promise { <pending> }, Promise { <pending> } ]
how would I then handle this array of promises in my server.js?