jjzjj

Observable

全部标签

javascript - 进行第二次 http 调用并在同一个 Observable 中使用结果

我使用的是angular2,它是http组件。我想调用一个将返回元素列表的RESTAPI。该列表的大小限制为100个条目。如果有更多项,将在响应中设置一个hasMore标志。然后您必须使用参数page=2再次调用API。如果有一个Observable,同时包含两个服务器响应,那就太好了。我的代码看起来像这样:call({page:1}).map(res=>res.json()).do((res)=>{if(res.meta.hasMore){//doanotherrequestwithpage=2}}.map(...).subscribe(callback)call是一个将使用http

javascript - RxJS: BehaviorSubject 退订

我对observables很陌生,我担心内存泄漏。如果我创建以下内容:privateclient=newBehaviorSubject("");clientStream$=this.client.asObservable();并在这样的观点中支持他们:this.clientService.clientStream$.subscribe(client=>{this.client=client;}}我需要取消订阅吗?如果我调用client.getValue()会怎样? 最佳答案 doIneedtounsubscribe?可能。如果您正在

javascript - RxJS 6 : Subscribe only onComplete

我不关心next()或error()值。我还需要在subscribe()函数中将空函数定义为回调吗? 最佳答案 你可以这样做subscribe({complete:()=>{//dothestuffyouneedtodooncompletion}})subscribe允许您传递具有3个属性的对象,nexterror和complete,它们指向各自的功能。每个属性都是可选的。 关于javascript-RxJS6:SubscribeonlyonComplete,我们在StackOverfl

javascript - 如何在 observableArray 中订阅 observable

我正在使用KnockoutJS并尝试订阅位于observableArray中的observable。所以我的viewModel看起来像这样......functionviewModel(){//privatepropertiesvarself=this;//publicpropertiesself.movies=ko.mapping.fromJS([]);//subscriptionsself.movies.UserMovies.Rating.subscribe(function(newValue){console.log(newValue);});}moviesobservableA

javascript - Knockout,如何订阅observableArray的每一次变化

你能帮我订阅吗oneverychangeofmyobservablecollectionandoneveryitemchange.未找到关于http://knockoutjs.com/documentation/observableArrays.html的信息$(document).ready(function(){varItem=function(isSelected,isEnabled,errorState,name,group,processed,errors,state){varself=this;self._isSelected=ko.observable(isSelecte

javascript - Angular 2 将 APP_BASE_HREF 设置为来自 Promise/Observable 的值

我尝试使用来自异步rest调用的值在“CoreModule”中设置APP_BASE_HREF。我看不出这是怎么做到的,因为provide方法需要返回一个字符串。例如:@NgModule({imports:[...HttpModule],...providers:[......BackendRequestClass,{provide:APP_BASE_HREF,useFactory:()=>()=>return'/some/path',deps:[],multi:true}],});但是当我需要网络服务的值时,我无法返回字符串。知道如何做到这一点吗?谢谢 最佳

javascript - 我如何解析另一个 Observable 中的一个 Observable? - RXJS

我有一个Observable,我在其中使用了另一个observable,但是第二个Observable我无法解析。这是代码:returnObservable.fromPromise(axios(config)).map(res=>{return{accessToken:res.data.access_token,refreshToken:res.data.refresh_token}}).map(res=>{return{me:getMe(res.accessToken),accessToken:res.accessToken,refreshToken:res.refreshToken

javascript - Cold observable 和 Replay subject 之间的区别?

我可以从文档中看到:ColdObservables从一开始就向每个Observer发出整个值序列。和ReplaySubject向任何观察者发送源Observable发出的所有项目,无论观察者何时订阅。那么这两个概念有什么区别呢?谢谢 最佳答案 一旦ReplaySubject订阅了源observable,源就开始发射,并且ReplaySubject成为一个热的observable。从订阅者的Angular来看,订阅ReplaySubject可能并不明显,因为它获取了所有先前发出的值。但是ReplaySubject只订阅源一次,因此主题

javascript - RxJS Observable 返回数组,每次数组迭代运行另一个函数

我有一个函数getNews(),它基本上返回angular的http.get请求。请求的结果是Id的数组。我想遍历我得到的这个数组并运行另一个http.get请求(函数getItem(id)),然后它将返回从服务器接收的单个Id的对象。我试过这样使用它:getLatest(){returnthis.http.get('all_news_url').map(res=>res.json())//IeventriedcreatingObservablefromarrayandgetonly5elements//.map(res=>Observable.from(res.json()))//.

javascript - 如何重复 ajax 请求,直到满足 RxJS Observable 的条件?

我正在尝试重复请求,直到响应包含使用RxJS的数据,此时我想调用成功(或失败)处理程序,但我在使用RxJS时遇到了麻烦。这是我目前的做法://...redux-observableactionobservable.mergeMap(()=>fetchData().repeatWhen(response=>response.takeWhile(({data})=>!data.length).of(response))).map(successFunction).catch(failureFunction);免责声明:我对RxJS很陌生.... 最佳答案