• 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2019-11-04T05:31:20+09:00","default:ryuichi","ryuichi")
#author("2019-11-04T06:13:38+09:00","default:ryuichi","ryuichi")
* 01. Promiseの作成と実行 [#rae716a7]


 // Promiseの作成
 const p = new Promise((resolve, reject) => {
** Promiseの作成 [#r8244f39]

 const p = new Promise((resolve, reject) => { // (0) Promiseオブジェクトの作成
   // (1) ここで実行したい処理を実行する
   for (let i = 0; i < 100; i++) {
     // ここで重い処理を実行する
   }
 
   const a = 1;
   if (a == 1) {
   // (2) 処理を終えて、resolveまたはrejectして、メッセージを返す
   if (true) {
     resolve("処理が成功しました");
   } else {
     reject("処理が失敗しました");
   }
 });
 
 // Promiseの実行
 p.then(message => {

- (0)でPromiseオブジェクトを作成しているが、一般的にnewする際に引数に関数を指定して、そこに実行したい処理を書く
- (1)で実行したい処理を実行して、
- (2)で処理が成功したならresolve(解決)して、失敗したならrejectする
- ここではresolve()とreject()の引数には文字列のにメッセージを指定しているが、数値でも配列でもなんでもよい

** Promiseの実行 [#u511971e]

 p.then(message => {                       // (1)
   console.log("resolveされた " + message);
 }).catch(errorMessage => {
 }).catch(errorMessage => {                // (2)
   console.error("rejectされた " + errorMessage);
 });

- (1)でPromise.then()でPromise内の処理を実行して、Promiseの結果としてmessageを受け取る
- (2)で、もしPromiseが解決されなかった場合の結果としてerrorMessageを受け取る


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS