是否有一种简单而优雅的方法来确定变量是否是javascript(es6)中的promise或object?
我有一个变量
let payment;
Run Code Online (Sandbox Code Playgroud)
并且在应用程序中,它可以是具有实际值的承诺或对象.我知道我可以测试它包含一些属性,如
if (payment.amount)
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎不是一个优雅的解决方案,因为属性(数据结构)可以及时改变.直到现在我正在使用
if (typeof payment === 'object')
Run Code Online (Sandbox Code Playgroud)
但我刚想通了,承诺基本上也是对象.所以这种情况总是如此.
是否可以判断它是真实数据的承诺还是对象?