使用async.queue

时间:2017-04-20 21:15:05

标签: javascript node.js this async.js

当使用async.js的队列函数和类的方法作为worker时,类上下文似乎丢失了。以下代码将this的值设为undefined

const { queue } = require('async');

class ClassName {
  constructor() {
    this.q = queue(this.worker);
  }

  run() {
    this.q.push();
  }

  worker() {
    console.log(this)
  }
}

const x = new ClassName()
x.run()

我可以将上下文作为push中的有效负载直接传递给worker函数。但是,我希望能够从方法本身引用类的上下文。任何人都可以帮我解决这个问题吗?我觉得我可能只是缺乏对this的理解。

0 个答案:

没有答案