トップページ > プログラム > 2016年05月13日 > lm16bc2e

書き込み順位&時間帯一覧

4 位/188 ID中時間01234567891011121314151617181920212223Total
書き込み数2400000000000000000000006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net

書き込みレス一覧

+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
762 :デフォルトの名無しさん[sage]:2016/05/13(金) 00:43:14.48 ID:lm16bc2e
仕様を理解してないだけ
resolveやrejectを呼び出すまで始まらないのは
最初のPromiseコンストラクタにコールバック関数渡した時のみ
後のthen節やcatch節ではPromiseを返さないかぎり即座に解決され進む
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
763 :デフォルトの名無しさん[sage]:2016/05/13(金) 00:45:15.67 ID:lm16bc2e
あとそもそもおかしい部分があるな
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
765 :デフォルトの名無しさん[sage]:2016/05/13(金) 01:00:51.12 ID:lm16bc2e
まあ色々パターンは有る。
チェーン内で1つ1つプロミスを作って、外部関数はコールバックベースというのが1つ。
でもそれよりも良いのが、外部関数がプロミスを返すようにすること。
そうすると特にメイン部分のコードはこんなにシンプルになる。

function mainScript( callback ){
  return sampleA().catch( sampleB ).then( sampleC )
}

mainScript( ).then( function ( result ) {
  console.log( result );
}, function ( err ) {
  console.log( err );
});
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
767 :デフォルトの名無しさん[sage]:2016/05/13(金) 01:01:24.85 ID:lm16bc2e
function sampleA() {
  return new Promise( function (_, reject) {
    setTimeout( function () {
      console.log('I\'m sampleA');
      reject();
    }, 2000 / 1 );
  });
}

function sampleB() {
  return new Promise( function (resolve) {
    setTimeout( function () {
      console.log('I\'m sampleB');
      resolve();
    }, 2000 / 1 );
  });
}

function sampleC() {
  return new Promise( function (resolve) {
    setTimeout( function () {
      console.log('I\'m sampleC');
      resolve();
    }, 2000 / 1 );
  });
}
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
768 :デフォルトの名無しさん[sage]:2016/05/13(金) 01:04:41.92 ID:lm16bc2e
>>766
今言葉で何をどう言ったらいいのか分からないが
コードを見て感じてくれ
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
772 :デフォルトの名無しさん[sage]:2016/05/13(金) 01:36:12.01 ID:lm16bc2e
.then(A).catch(B)

.then(A,B)
と書けるってだけだよ
細かな違いとして前者はAによる棄却をBで受け取れるが、後者は受け取れない
あとは全く同じ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。