【发布时间】:2017-01-07 08:51:00
【问题描述】:
所以我正在使用 typescript 学习 Angular 2。
我正在编写一个模拟服务,如果服务成功获取对象,它(我相信)应该返回一个 Promise,如果发生任何事情,则返回一个错误。
我尝试了以下代码,但看起来它不是打字稿的书写语法。
更新了代码:
saveMyClass(updatedMyClass: MyClass){
//saving MyClass using http service
//return the saved MyClass or error
var savedMyClass : MyClass = someLogicThatReturnsTheSavedObject(updatedMyClass);
if(isSomeCondition)
return Promise.reject(new Error('No reason but to reject'));
else
return new Promise<MyClass>(resolve => {setTimeout( ()=>resolve(savedMyClass),1500 )} );
}
但令我惊讶的是,打字稿抱怨“返回表达式中不存在最佳通用类型”。
正确的代码应该是什么?这样我就可以在我的组件上使用是否返回正确的 MyClass 并反映服务中存在的错误。
谢谢
【问题讨论】:
-
不要用打字稿标记javascript! Typescript 不是纯 javascript
-
假设 saveMyClass 是一个函数试试这个函数 saveMyClass(updatedMyClass: MyClass): any {....code here....}
标签: angular typescript es6-promise