我有一个 React-Native Android 应用程序,我开始将一些远程 Api 数据提取到我的应用程序中。我想将 RxJS 与超级代理一起使用(fetch() 在我的代码中不起作用),而不是将其分发到我的组件视图中。
现在这是我的 ApiHandler 类中的超级代理 POST 方法,我在其中传递用户名和密码并获取令牌:
tokenPOST: function ( email, password, props, navigator ) {
rxRequest (
request
.post(BASE_URL + 'tokens')
.type('json')
.send({
email: email,
password: password
})
)
.doOnNext(function ( res ) {
notifyMessage (res.token)
})
.subscribe(function ( res ) {
var token = JSON.parse(res.text).token; // working
navigator.replace({
id: 'MainController',
// maybe pass props with token here?!
});
},
function ( err ) {
notifyMessage ("Please check credentials again!")
})
},
这是我的 RxJS 可观察代码:
var rxRequest = Rx.Observable.fromSuperagent = function ( request ) {
return Rx.Observable.create(observer => {
request.end(( err, res ) => {
if (err) {
observer.onError(err)
} else {
observer.onNext(res);
}
observer.onCompleted();
})
});
};
现在我如何实际将我得到的令牌结果/响应传递给我的组件视图?我是 react-native 和 RxJS 的新手,实际上我是整个 JavaScript/ReactJS 方面的新手,所以我非常感谢它获得帮助。