如果一个对象看起来像一个Promise
),则返回 true
,否则返回 false
。
检查对象是不为 null
,它的 typeof
是否匹配 object
或 function
,如果它有.then
属性,这也是一个 function
。
const isPromiseLike = obj => obj !== null && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
isPromiseLike({ then: function() { return ''; } }); // true isPromiseLike(null); // false isPromiseLike({}); // false