【发布时间】:2018-03-09 20:22:32
【问题描述】:
我是 Angular2/Typescript 的新手,我正在尝试编译我的项目,但出现此错误:
声明类型既不是“void”也不是“any”的函数必须返回一个值
这是代码:
SyncCustomer(codCli: string): Observable<any>
{
this.mdService.Ordini_Sincronizza(codCli).subscribe(
data => {
return Observable.of(data);
},
error => {
console.log(error);
return Observable.of(error);
});
}
我不知道问题出在哪里......
感谢支持!
更新 001:
我以这种方式编辑了代码,现在它可以编译...
SyncCustomer(codCli: string): Observable<any> {
return Observable.of(this.mdService.Ordini_Sincronizza(codCli).subscribe(
data => {
return data;
},
error => {
console.log(error);
return error;
}));
}
返回订阅的可观察对象是否有意义???
【问题讨论】:
-
您期望返回类型为 observable 。这里
-
把return放在this.mdSer前面...所以它返回
-
把
return放在第一行前面:return this.mdService.Ordini_Sincronizza... -
你为什么要订阅你的函数?
-
这意味着,每当您创建一个方法/函数并且指定的返回类型既不是
void或any时,该方法必须返回一个值,即您必须使用return方法中的关键字。
标签: angular typescript