在 Node.js 个异步管道中更正对象方法调用

Correct object method calls in Node.js async pipelines

我想使用一些 Node.js async 管道操作(例如 parallelwaterfall)来调用对象内部的实例方法。

我使用以下格式在管道函数中保留正确的 this 引用,因为通常情况下,管道函数内部 this 引用管道对象本身。

var jobThis = this;
async.waterfall(
    [
        function(cb) { jobThis.getParseInstalls(cb); },
        function(prev, cb) { jobThis.getParseIAPs(prev, cb); },
    ],
    callback
);

我希望管道的各个阶段能够访问(但不能修改)属于包装对象的设置对象。

我觉得这种作风不好。有没有更清洁的方法来实现这个目标?我只是不应该使用方法和 async 吗?

最后,我意识到简单地使用 function.bind 是最干净的方法(而且,self 比其他任何方法都更清晰):

var self = this;
async.waterfall([
     self.getParseInstalls.bind(self),
     self.doSomethingElse.bind(self),
 ],
 callback
);