gpt4 book ai didi

javascript - 数据来自另一个调用后解决nodejs服务器中的 promise ?

转载 作者:行者123 更新时间:2023-12-03 03:25:55 24 4
gpt4 key购买 nike

我在 Node 服务器中有一些 promise ,在它们全部解析后,服务器将呈现给客户端。我正在使用Promise.all([ ...其中包含我的几个 promise 的所有数据。

但是,在我的一个 promise 兑现之前,我现在需要来自另一个调用的一些数据。但似乎Promise.all在我得到我需要的东西之前仍在解决。

const myPromise = new Promise((resolve) => {
needDataFromThisCall(someInfo)
.then((data) => {
return resolve(sortData(data))
})
.catch((error) => {
//error handle
})
})
.then((resolvedData) => {
return resolvedData;
})

这似乎不起作用,因为最终的 .then解析的数据是 undefined在我进入我的 sortData 之前似乎已经解决了功能。是否 return resolve(sortData...最终不会将其返回值赋予最终的 .then

这到底应该如何做myPromise在我有需要发送到 sortData 的数据后可以解决?

最佳答案

下面的代码工作正常。假设sortData是同步函数,您需要解析myPromise来获取结果。

let someInfo = [2,3,1];

let needDataFromThisCall = info => new Promise(res => setTimeout(()=>res(info), 500) );

let sortData = data => data.sort();

const myPromise = new Promise((resolve) => {
needDataFromThisCall(someInfo)
.then((data) => {
return resolve(sortData(data))
})
.catch((error) => {
//error handle
})
})
.then((resolvedData) => {
return resolvedData;
})

myPromise.then(data => console.log('final data', data))

关于javascript - 数据来自另一个调用后解决nodejs服务器中的 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46331033/

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