gpt4 book ai didi

javascript - 如何从 Promise 中获取已解析的数据

转载 作者:行者123 更新时间:2023-11-29 17:59:33 27 4
gpt4 key购买 nike

考虑以下代码片段:

let primise = new Promise((resolve, reject) => {
resolve({ x: 10 });
});

setTimeout(() => {
// At some moment in the future (Promise is resolved)
console.log(promise);
}, 200);

现在, promise 已通过 { x: 10 } 解决。如何使用 resolved promise 访问这些数据?

检查 promise 对象,我可以看到数据作为 promise._v 可用,但这看起来不对。任何帮助将不胜感激

最佳答案

不,您不能检查 promises(至少不能检查原生 promises,一些用户空间实现确实有可用的同步检查方法)。

所以 - 一如既往 - 使用 promise.then(v => console.log(v))。只有这样,您才能确定 promise 已兑现。

如果您还想等待 200 毫秒,请为超时使用另一个 promise ,并使用 Promise.all 来等待它们:

let promise = Promise.resolve({ x: 10 });

Promise.all([promise, new Promise(resolve => setTimeout(resolve, 200))]).then([v] => {
// At some moment in the future (and promise is fulfilled)
console.log(v); // {x: 10}
});

关于javascript - 如何从 Promise 中获取已解析的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36107422/

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