RxJS node-oauth简单的获取请求失败

处理一个简单的(相对)RxJS演示/testing代码,这个演示/testing代码将Twitter的一个API调用和一个MongoDB请求压缩成一个单独的observable。

为了能够做出一个Twitter的Api调用,你需要通过Oauth进行身份validation。 我find了node-oauth库来validation节点请求:

var oauth = new OAuth.OAuth( 'https://api.twitter.com/oauth/request_token', 'https://api.twitter.com/oauth/access_token', 'key', 'secret', '1.0A', null, 'HMAC-SHA1' ); 

然后我用Oauth get创build一个新的Observable Oauth get方法从Twitter获取地点:

 var twitterStream = Rx.Observable.fromNodeCallback(oauth.get)('https://api.twitter.com/1.1/trends/place.json?id=23424977', 'access-token', 'token'); 

来自MongoDB的另一个stream:

 Rx.Node.fromStream(Order.find().stream()); 

最后一步压缩他们:

 var getNewList = Rx.Observable .zip(flickrStream, orderStream, function(user, order) { return {user: user, order: order}; }); getNewList.subscribe(function(response) { // render `response` console.log(response); }); 

尽pipe代码似乎对我来说,当我通过节点执行它时,下面的消息被打印到控制台:

 TypeError: Object #<Object> has no method '_performSecureRequest' at exports.OAuth.get (/.../node_modules/oauth/lib/oauth.js:487:15) at /.../node_modules/rx/dist/rx.all.js:5504:14 

我可能做了某事 使用Twitter请求创build新的Observable时出错。 另外; 我在进行Twitter调用时单独testing了代码,没有RxJS和MongoDB查询,这些工作没有任何问题。 也从fromCallback更改为fromCallback没有任何区别。

提供context参数(请参阅文档 )或绑定获取上下文:

 Rx.Observable.fromNodeCallback(oauth.get.bind(oauth)) 

要么

 Rx.Observable.fromNodeCallback(oauth.get, oauth)