promisesはPromise
クラス(コンストラクタ)のインスタンス(オブジェクト)です。 Promiseを作成するには、new Promise(executor)
構文を使用し、引数としてexecutor関数を提供します。 このexecutor関数は、約束の解決または拒否の動作を制御する手段を提供します。TypeScriptでは、promiseが満たされたときに返される値のデータ型を提供できます。 Promiseによって返されるエラーは任意の形をとることができるため、promiseが拒否されたときに返される値のデフォルトのデータ型は、TypeScriptによってany
に設定されます。
promiseの解決値の型に注釈を付けるには、ジェネリック型宣言を使用します。 基本的には、約束の解決された値の型を示すPromise
new Promise<Type>()
let p: Promise<Type> = new Promise()
構文を使用することもできます。
💡ジェネリッククラスについては、ジェネリックスレッスンで詳しく説明しました。div>
(約束。上記の例では、findEven
Promise
コンストラクタを使用して作成されたプロミスです。 このpromiseの解決されたデータ型はnumber
なので、TypeScriptコンパイラでは、数値型の値以外の値を持つresolve
number
。promiseの拒否値のデフォルトの型はany
reject
関数を呼び出すことは合法です。 これはTypeScriptのデフォルトの動作であり、あなた自身の意見があれば、ここで議論のスレッドを見つけることができます。
成功した約束解決のデータ型としてnumber
を提供しているので、TypeScriptコンパイラはvalue
number
then
コールバックメソッド。
then
メソッドで提供されるコールバックは、promiseが解決されたときに実行され、catch
メソッドで提供されるコールバックは、promise finally
メソッドは、promiseが解決または拒否されたときに実行されるコールバックを登録します。TypeScriptコンパイラがfinally
メソッドについて文句を言う場合、それはあなたのTypeScriptコンパイラがfinally
メソッドの型定義をイン この方法はES2016で導入されたため、非常に新しい方法です。 このレッスンで使用されるPromise APIの他の機能はかなり新しいので、tsconfig.json
ファイルにすべての新しいライブラリがロードされているこ