gpt4 book ai didi

node.js - 处理来自 Promise.all 的一系列 Promise

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:25 25 4
gpt4 key购买 nike

我对 Promise 还很陌生,我目前所做的所有道路都将我引向 Promise.all() ,但我不知道如何处理结果。

我有一些这样的数据

let data = {
"format_oid":["35474527960032","2595837960032"]
};

然后我将其传递给类似的函数

server.js

jobHandler.handle(data)
.then((info) => {
console.log(info);
})
.catch((err) => {
console.error(err);
});

在我的jobHandler内我有课

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');
}
});
}

目前request将有一系列 Promise,如 [ Promise { <pending> }, Promise { <pending> } ]

然后我将如何在我的 server.js 中处理这组 promise ?

最佳答案

一 promise ,一结果。 Promise.all() 解析为一组结果,原始 Promise 数组中的每个 Promise 都有一个结果,其顺序与 Promise 相同。

how would I then handle this array of promises in my server.js?

aHandlerObject.extract(data).then(results => {
// results is an array of resolved values
// one for each call to this._getReleaseId(...)
}).catch(err => {
// handle error here
});

关于node.js - 处理来自 Promise.all 的一系列 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48307513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com