js Promise
Promiseオブジェクトは非同期操作の完了(または失敗)と結果の値を表現する。
Promiseは3つの状態のうち一つをとる:
pending: 初めの状態、fulfilledでもrejectedでもない
fulfilled: 操作が成功した状態
rejected: 操作が失敗した状態