Angular 如果方法参数为false,如何使服务为null或0

Angular 如果方法参数为false,如何使服务为null或0,angular,rxjs,Angular,Rxjs,伙计们,当IsConfigurated==true时,我必须通过服务发送请求,但在同样的情况下,我不想在completerpage.ts上设置条件,所以我必须在我的服务上这样做,我尝试了相同的解决方案,如: ChangeACCStatus(IsConfigurated){ let dataStruct = { SessionId: localStorage.getItem('SessionId') } if(IsConfigurated){ ret

伙计们,当
IsConfigurated==true
时,我必须通过服务发送请求,但在同样的情况下,我不想在completerpage.ts上设置条件,所以我必须在我的服务上这样做,我尝试了相同的解决方案,如:

ChangeACCStatus(IsConfigurated){
    let dataStruct = {
      SessionId: localStorage.getItem('SessionId')
    }
    if(IsConfigurated){
      return this.http.post(`${this.CommandeURL1}/TryToChangeAccAlarm`, JSON.stringify(dataStruct), this.httpOptions);
    }else{
      return null
    }
  }
但是在这里,当我订阅该方法以防返回为null时,我发现了这个错误

无法读取null的属性“subscribe”

我试图在0点返回,但我遇到了:

类型“Observable | 0”上不存在属性“subscribe”

最后,我使用了return
newobservable(null)
,在这里我根本无法访问subscribe

Rq:compliterPage.ts中的Myservice调用是:

this._compileSerivce.ChangeACCStatus(this.CurrentInfo['IsACCAlarmConfiguredByGPRS']).subscribe(contactServiceData =>{
                console.log(contactServiceData)
                if(contactServiceData != (null||0)){
//Do samething}
});

有多种解决方案

选项1:RxJS函数 您可以使用函数的RxJS
返回
null
false

从'rxjs'导入{of};
ChangeACCStatus(已配置):可观察常数
您可以返回RxJS
EMPTY
常量,该常量将触发订阅的
complete
回调并完成

从'rxjs'导入{EMPTY};
ChangeACCStatus(已配置):可观察{
如果(!!已配置){
const dataStruct={SessionId:localStorage.getItem('SessionId')};
返回this.http.post(`this.CommandeURL1}/TryToChangeAccAlarm`,JSON.stringify(dataStruct),this.httpOptions);
}
返回空;
}