isPromiseLike - 是否为类 Promise

优质
小牛编辑
130浏览
2023-12-01

如果一个对象看起来像一个Promise),则返回 true,否则返回 false

检查对象是不为 null ,它的 typeof 是否匹配 objectfunction ,如果它有.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