gpt4 book ai didi

javascript - ES6 - 决定是对象还是 promise

转载 作者:行者123 更新时间:2023-12-04 15:52:28 25 4
gpt4 key购买 nike

是否有一种简单而优雅的方法来确定变量是javascript(es6)中的promise还是object?

我有一个变量

let payment;

在应用程序中,它可以是具有真实值(value)的 promise 或对象。我知道我可以测试它包含一些属性,例如
if (payment.amount)

但这对我来说似乎不是一个优雅的解决方案,因为属性(数据结构)可以及时改变。直到现在我在使用
if (typeof payment === 'object')

但我刚刚发现, promise 基本上也是对象。所以这个条件总是成立的。

是否可以用真实数据判断它是 promise 还是对象?

最佳答案

不要试图找出答案。只是让它永远是一个 promise 。

payment = Promise.resolve(payment);

Promise.resolve 创建一个新的 promise 对象。如果传递的值本身是一个 promise ,那么当原始值是时,它就会被解决或拒绝。如果是其他任何东西,新的 Promise 会立即使用该值解决。

关于javascript - ES6 - 决定是对象还是 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43033988/

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