因此,我正在用打字稿学习Angular 2。如何使用TypeScript返回适当的承诺
我到达了写一个嘲笑的服务(我相信)应该返回一个承诺,如果该服务获得对象成功,并返回一个错误,如果任何事情发生的一个点。
我已经试过下面的代码,但看起来它不是一个写入语法的打字稿。
更新代码:
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!打字稿不是纯粹的javascript – Endless
你试过吗? https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/es6-promise/es6-promise.d.ts –
假设saveMyClass是一个函数试试这个 function saveMyClass(updatedMyClass:MyClass):any {....代码在这里......} –