我正在将一个 observable 返回给我的调用方法,但我看到了这个 - 'pipe is not a function' 错误。
这是我的数据库层
querySomthing(request) : Observable<any> {
// rpc call.
return this.thirdPartyService.query(request, {}, (error, response) => {
if (!error) {
try {
console.log(response)
return of(response); <-- returning observable.
}
catch (err) {
console.log(error);
throw error;
}
}
else {
console.log(error);
throw error;
}
});
}
服务层(此处错误-管道不是函数)
getinitialData(): Observable<any> {
//Build request here.
return this.dbLayer.querySomthing(req).pipe(map((data:any)=>{
//Process the data here
return DataObject;
}));
}
UI组件层
ngOnInit() {
this.service.getinitialData().subscribe((d) => {
UIComponent.datasource = d;
},
(error)=>{
toast(error);
});
}
当我在 DB 层尝试使用它时,它起作用了 -
querySomthing(request) : Observable<any> {
of(someDummyData);
}
在上面的用例中,我还想将异常冒泡到 UI toastr。
最佳答案
this.thirdPartyService.query
未返回可观察对象。它可能返回 undefined 或其他一些对象。如果你有thirdPartyService的源代码,你可以尝试进入它;否则,此处没有足够的信息来告诉您此服务返回什么或返回的原因。
关于javascript - 从内部返回函数返回时管道不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57780900/