Javascript 无法调用其类型缺少调用签名的表达式。类型';字符串';没有兼容的呼叫签名
我正在处理一个observable,并收到以下错误:“无法调用其类型缺少调用签名的表达式。类型'String'没有兼容的调用签名。这是被调用的方法:Javascript 无法调用其类型缺少调用签名的表达式。类型';字符串';没有兼容的呼叫签名,javascript,angular,typescript,rxjs,Javascript,Angular,Typescript,Rxjs,我正在处理一个observable,并收到以下错误:“无法调用其类型缺少调用签名的表达式。类型'String'没有兼容的调用签名。这是被调用的方法: accountTypeAhead(param, url = this.accountAutoComplete): Observable <any> { let params = new HttpParams(); params = params.set('prefix', param); return this.
accountTypeAhead(param, url = this.accountAutoComplete): Observable <any> {
let params = new HttpParams();
params = params.set('prefix', param);
return this.http.get(url, {params: params}).map((res: Response) => res.json());
}
accountTypeAhead(param,url=this.accountAutoComplete):可观察{
设params=newhttpparams();
params=params.set('前缀',param);
返回这个.http.get(url,{params:params}).map((res:Response)=>res.json());
}
然后我在我的组件中得到错误:
dataSource: Observable<any>;
this.dataSource = Observable.create((observer: any) => {
this.users.accountAutoComplete(this.userForm.value.prefix).subscribe((result: any) => {
observer.next(result.payload);
});
});
数据源:可观察;
this.dataSource=Observable.create((observator:any)=>{
this.users.accountAutoComplete(this.userForm.value.prefix).subscribe((结果:any)=>{
下一步(结果有效载荷);
});
});
如果删除.json()
从地图上看,这有什么改变/帮助吗?您正在使用HttpClient,对吗?是的,我正在使用http客户端对不起,您很沮丧。您将此放入StackBlitz以便我们可以尝试一些事情的可能性有多大?您正在调用this.users.accountAutoComplete
,就像它是一个函数一样,而它只是一个字符串服务中的变量。是否确实要调用this.users.accountTypeAhead
函数?您不能像调用函数一样调用accountAutoComplete
,它不是函数,只是字符串。您可以调用accountTypeAhead
;这是一个函数。accountAutoComplete
!=accountTypeAhead(…)