因此,我正在用打字稿學習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 {....代碼在這裏......} –