我已经通过 thunking 获得了一些第三方异步函数来与 Koa 一起使用,或者像这样包装函数:var thunkedFunction = function(params) { return function(callback) { originalFunction(params, callback) }; )
或者使用节点 thunkify 库。
但是,当我像这样尝试使用 ntwitter 的流时:
var streamThunk = thunkify(tw.stream);
var stream = yield streamThunk("statuses/filter", {track: track});
我收到以下错误:“无法读取未定义的属性 stream_base”。
深入挖掘 ntwitter(基于 node-twitter 构建)我看到 Twitter.prototype.stream 函数调用 this.options.stream_base,并且 this.options 在我通常调用它时定义,tw.stream(function(stream) {...});
但在我调用函数时未定义。是否有任何原因导致该函数在重击时失去其范围,有没有办法规避这个问题?