- + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
288 :デフォルトの名無しさん[sage]:2016/07/27(水) 21:48:13.18 ID:rlINsgdh - >>286
> 普通のプロミスの使い方じゃないの? ぜんぜん違うよw >>281を見てみ。Promiseの中のforで52枚分繰り返している。 言い方を変えると、一つのPromiseで52枚分の処理が並列で実行されている。 つまりres(rejectを略すなよ)を呼び出すのは 52枚すべて終わったときに一回だけ。 その52枚の処理がすべて終わったのをどうやって判定するのか? カウンタを用意する?最初からその話をしていたはずなんだがねw つまり、この問題をPromiseを使って解決してないのさ。 この問題を何かの方法で解決したのを前提として、 単にそれをPromiseで包んでいるだけ。 Promiseの普通の使い方であれば、new Image()一つに対して 一つのPromiseを生成する。
|
- + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
289 :デフォルトの名無しさん[sage]:2016/07/27(水) 21:49:01.14 ID:rlINsgdh - 訂正
× つまりres(rejectを略すなよ)を呼び出すのは ○ つまりres(resolveを略すなよ)を呼び出すのは
|
- + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
290 :デフォルトの名無しさん[sage]:2016/07/27(水) 22:04:41.16 ID:rlINsgdh - sage
|
- + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
291 :デフォルトの名無しさん[sage]:2016/07/27(水) 22:05:09.91 ID:rlINsgdh - >>286
> 1+1をPromiseでやってる、が意味わからん。 new Promise(function(res,rej){ // -------------↓ いま解決したい問題 ここから --------- for (52枚分) { var img = new Image() img.onload = function () { 処理 } img.onerror = rej img.src = どこか } // -------------↑ いま解決したい問題 ここまで--------- }).catch(function() { alert("読み込みエラー") }) いま解決したい問題はこの部分なのに、この部分でPromiseを使っていない。 正確に言えばrejectは呼び出しているがresolveを呼び出していないから、 このPromiseが正常終了することはない。 だからやってることは↓これと一緒だって言ってるんだよ。 new Promise(function(res,rej){ a = 1+1; // 1+1ではなく、i = i +1 といえばよかったとは思ってる。 }).catch(function() { alert("読み込みエラー") }) console.log(a); 単純にくるんだだけ。何のためにPromiseで包んだのって思うだろ?
|
- オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net
465 :デフォルトの名無しさん[sage]:2016/07/27(水) 22:47:49.85 ID:rlINsgdh - ダックタイピング
由来 アヒルのの鳴きマネをする人間はアヒルに違いない
|