TypeScriptでPromiseの型が複数の時の書き方
表題の件、検索しても有益な情報が見つからなかったので記載
単純にPromiseの型定義でパイプでつなぐだけ
確認環境
Typescript 3.8.3
MacOS 10.14.6
sample
以下の例だとFlileReaderからreadAsTextで読み込み完了したとき、resultの型である
string|ArrayBuffer|null
をPromiseに定義するだけ
export async function readFile(file: File, ):Promise<string | ArrayBuffer | null> {
return new Promise<string | ArrayBuffer | null>((resolve, reject) => {
const reader: FileReader = new FileReader();
reader.onloadend = () => resolve(reader.result);
reader.readAsText(file);
});
}