return 空 ajaxAsObservable

return empty ajaxAsObservable

我有这个代码

 allEditChanges
                    .debounce(250)
                    .distinctUntilChanged()
                    .flatMapLatest(function (text) {return  $.ajaxAsObservable({url:..., data:....} }).subscribe()

我需要提出这个条件,所以有时会忽略请求。 我这样试过

 allEditChanges
 .debounce(250)
 .distinctUntilChanged(
 .flatMapLatest(function (text) {if(myFlag){
 return  $.ajaxAsObservable({url:..., data:....}))
}else{
return $.ajaxAsObservable({}); } }).subscribe()

但是当myFlag为真时,调用对当前页面的请求。 问题如何省略请求?如何在某些情况下不调用任何请求

您可以使用filter

allEditChanges
   .debounce(250)
   .distinctUntilChanged()
   .filter(() => !myFlag)
   .flatMapLatest(function (text) {return  $.ajaxAsObservable({url:..., data:....} })
   .subscribe()

或returnRx.Observable.empty()

allEditChanges
   .debounce(250)
   .distinctUntilChanged()
   .filter(() => !myFlag)
   .flatMapLatest(function (text) {
       if(myFlag){
         return Rx.Observable.empty();
       }
       return  $.ajaxAsObservable({url:..., data:....} })
   .subscribe()