3

関数asyncを実行すると、暗黙的に常にPromiseが返されます。TypeScript非同期戻り値/スローイングエラー

はまず、async機能を使用する場合は、実際にはコードベースで一貫性以外の理由で他の上で1つを使用すべきthrow new Error(...)

Promise.reject(new Error(...))を返すの間に違いがありますか?


次に、どのようなタイプが返されますか?

VSコードに基づいてPromise.reject(new Error(...))Promise<Never>を返すthrow new Error(...)は同じものを返しますか?


第三に、あなたはそれが拒否された約束を返すことができる場合に約束する関数の型シグネチャを変更する必要がありますか?拒否されたPromiseタイプはありますか?これは理にかなっていますか?

ありがとうございました。ここで

+0

のみ[彼らは同じことだ])ポスト – Bergi

+0

1ごとに一つの質問を依頼してください(https://stackoverflow.com/q/33445415/1048572)2) 'throw'は恐らく' void '型を持っていますが、式ではないので何も持っていないかもしれません - return '3)はい、意味がありますが、 TypeScriptは複雑すぎると思ったのでそれをしなかった – Bergi

+0

https://github.com/Microsoft/TypeScript/issues/7588 https://github.com/Microsoft/TypeScript/issues/6283 https:/を参照してください。 /stackoverflow.com/questions/39381940/typescript-type-definition-for-promise-reject – Bergi

答えて

-3

、これを試してみてください...

function asyncFunc(callback,delay){setTimeout(callback,delay);} 

function myFunction(param){ 
    alert(param); 
} 

そして、この:

<button onclick="asyncFunc(myFunction(this.innerHTML),0);">click</button> 

Demo

+0

正しいスレッドに回答を投稿してもよろしいですか? – Bergi

+0

Btw、 'asyncFunc'コールの' callback'は 'undefined'です。 – Bergi

関連する問題