将承诺定义为ES6类方法

ac3*_*360 7 javascript node.js ecmascript-6

使用ES6语法定义类及其方法,如何将方法定义为Promise,而不必将其包装在返回promise的常规函数​​中?我想做类似以下的事情:

class PromiseMethod {

   promiseMethod = new Promise(function(resolve, reject) {
        return resolve();
   }
}
Run Code Online (Sandbox Code Playgroud)

Fél*_*lli 5

承诺仅仅是从函数返回的对象,无论它是否是方法都没有关系。尝试这个:

class Something {
  promiseMethod () {
    return new Promise(...);
  }
}

(new Something).promiseMethod().then(...)
Run Code Online (Sandbox Code Playgroud)

但是也许您不想不必调用该方法并能够直接使用Promise方法?在这种情况下,它不是方法,而是属性

class Something {
  constructor () {
    this.promiseProperty = new Promise(...);
  }
}

(new Something).promiseProperty.then(...);
Run Code Online (Sandbox Code Playgroud)