如何在ES6构造函数中使用async来调用内部方法?

时间:2016-07-10 02:17:04

标签: javascript ecmascript-6 javascript-objects

我在构造函数中使用async来顺序调用内部方法。但是,由于本地化this的问题,我必须将这些函数包装在一个匿名函数中。如果我想传递额外的参数,我必须采用类似的方法。例如:

class AsyncFriendly {

  constructor() {
    async.waterfall( [
        ( ...args ) => { this.methodA( ...args ); },
        ( ...args ) => { this.methodB( ...args ); },
      ],
      ( ...args ) => { this.allDone( "pass in", ...args ); }
    )
  }

  methodA( callback ) {
    callback( null );
  }

  methodB( callback ) {
    callback( null );
  }

  allDone( letMeIn ) {
    console.log( 'done ' + letMeIn );
  }

}

这似乎是一种笨拙的反模式,我想在这里找到合适的模式。

0 个答案:

没有答案