Javascript 角度:对象不是ApiService.saveData()上的函数

Javascript 角度:对象不是ApiService.saveData()上的函数,javascript,angular,Javascript,Angular,ApiService 正如您在这里看到的,saveData()方法将通过给定的URL命中后端服务器,但是如果后端服务器抛出任何错误,我应该向用户显示该错误,因为我编写了handleError()方法并通过管道操作符调用,即catchError(this.handleError)此行抛出类型错误:对象不是函数 请给出任何建议 代码段: import { Observable, throwError} from 'rxjs'; import {catchError} from 'rxjs/opera

ApiService

正如您在这里看到的,
saveData()
方法将通过给定的URL命中后端服务器,但是如果后端服务器抛出任何错误,我应该向用户显示该错误,因为我编写了
handleError()
方法并通过管道操作符调用,即
catchError(this.handleError)
此行抛出
类型错误:对象不是函数

请给出任何建议

代码段:

import { Observable, throwError} from 'rxjs';
import {catchError} from 'rxjs/operators';
            
  @Injectable({
    providedIn: 'root'
  })

  export class ApiService {

  public  saveData(url,Object):Observable<any>{
      return this.http.post(url,Object).pipe(catchError(this.handleError));
    }

    handleError(errorResponse:HttpErrorResponse){
      console.log('handleerror')
      return throwError(errorResponse.message || 'server error');
    }
    
  }

为了使用catchError方法,您需要提供一个error函数

请看这里:


我相信Object是保留语法。尝试将其重命名为其他名称。如果它不起作用,请说明您是如何调用它的。

谢谢,正如您所说,我添加了这一行.pipe(catchError(err=>this.handleError(err));但它仍然抛出相同的错误
.pipe(catchError(err=>this.handleError(err))
将被更正。您似乎在其他地方使用了一个模态。函数
saveData()
是如何绑定到模式的?它是作为回调传递的吗?是的,我正在使用modal,但它不是一个没有模型的问题,它也抛出了相同的错误这是ApiService this.ApiService.saveData('urlConfig.saveAgent',this.newagentForm.value.).subscribe(data=>{console.log('data='+data);});在saveData()方法中,正如我描述的问题this line.pipe(catchError(this.handleError));这个错误这个组件级代码我在这里调用ApiService this.ApiService.saveData('urlConfig.saveAgent',this.newagentForm.value.).subscribe(data=>{console.log('data='+data);});你能把“Object”改名为“postBody”吗。我怀疑“Object”变量的使用,因为它是JavaScript保留的。公共存储数据(url、postBody)
core.js:6157 ERROR TypeError: Object is not a function
    at ApiService.saveData (api.service.ts:18)
    at new-channel.component.ts:66
    at SafeSubscriber.schedulerFn [as _next] (core.js:25910)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:183)
    at SafeSubscriber.next (Subscriber.js:122)
    at Subscriber._next (Subscriber.js:72)
    at Subscriber.next (Subscriber.js:49)
    at EventEmitter_.next (Subject.js:39)
    at EventEmitter_.emit (core.js:25879)
    at ConfirmModalComponent.Passback (confirm-modal.component.ts:30)
.pipe(catchError(err => this.yourErrorHandler(err)))