当使用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
的理解。