Javascript RXJS和角1
我试着玩RxJS和Angular 1。我遇到了一个问题,无法在Javascript RXJS和角1,javascript,angularjs,rxjs,reactivex,Javascript,Angularjs,Rxjs,Reactivex,我试着玩RxJS和Angular 1。我遇到了一个问题,无法在$http请求中调用.done()、.fail()或.always()。在Angular 1中是否可以将RxJS与$http服务一起使用 到目前为止,我是这样设置我的observable的: angular.module('rxExampleApp') .controller('Step3Ctrl', function ($http) { var vm = this; vm.requestStream = Rx.O
$http
请求中调用.done()
、.fail()
或.always()
。在Angular 1中是否可以将RxJS与$http
服务一起使用
到目前为止,我是这样设置我的observable的:
angular.module('rxExampleApp')
.controller('Step3Ctrl', function ($http) {
var vm = this;
vm.requestStream = Rx.Observable.just('https://api.github.com/users');
vm.requestStream.subscribe(function (requestUrl) {
// execute the request
vm.responseStream = Rx.Observable.create(function (observer) {
$http.get(requestUrl)
.done(function (response) {
observer.onNext(response);
})
.fail(function (jqXHR, status, error) {
observer.onError(error);
})
.always(function () {
observer.onCompleted();
});
});
});
vm.responseStream.subscribe(function (response) {
console.log('TEST RESPONSE: ', response);
});
});
但是我遇到了一个错误,
$http.get.done
不是一个函数。我试图用RxJS在Angular 1.4中实现的是可能的吗?完成了
,失败
&总是
这些方法在jQuery
Ajax上可用,而不是Angular$http
方法上
$http.get
不会返回承诺,您可以使用。然后在其上执行
函数。因此,您可以放置成功
,错误
和完成
回调
代码
$http.get(requestUrl)
.then(function (response) { //success function
observer.onNext(response);
}, function (error) { //error function
observer.onError(error);
}, function () { //completed callback
observer.onCompleted();
}
);
伟大的非常感谢。代表我犯了愚蠢的错误。@jordanmcraenp。很高兴见到你。谢谢