[過去ログ]
+ JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net (1002レス)
+ JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net http://echo.5ch.net/test/read.cgi/tech/1472426483/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
23: デフォルトの名無しさん (ワッチョイ 17c9-wh/5) [sage] 2016/09/01(木) 18:09:09.45 ID:yAfRysov0 promiseのチェーンをn個動的につなげたいときはどうしたらいいの? http://echo.5ch.net/test/read.cgi/tech/1472426483/23
24: デフォルトの名無しさん (ワッチョイ 17c9-wh/5) [] 2016/09/01(木) 18:17:54.49 ID:yAfRysov0 a().then(b).then(c).then(d); これをこう書き function run(a){ return a[0]().then(a[1]).then(a[2]).then(a[3]); } a[] を4個固定じゃなくてn個にしたい http://echo.5ch.net/test/read.cgi/tech/1472426483/24
25: デフォルトの名無しさん (オッペケ Sr8f-RETc) [sage] 2016/09/01(木) 18:44:11.05 ID:P+2ORA+3r >>24 Promise.all の事? http://echo.5ch.net/test/read.cgi/tech/1472426483/25
26: デフォルトの名無しさん (ワッチョイ 17c9-wh/5) [sage] 2016/09/01(木) 19:14:13.95 ID:yAfRysov0 >>25 allじゃない。 thenの方。 http://echo.5ch.net/test/read.cgi/tech/1472426483/26
27: デフォルトの名無しさん (ワッチョイ efce-wh/5) [sage] 2016/09/01(木) 20:03:48.39 ID:EP8ZkXWM0 >>23-24 PromiseはECMAScriptの範囲なので + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net http://echo.2ch.net/test/read.cgi/tech/1472401404/ こっちのほうがふさわしい。 http://echo.5ch.net/test/read.cgi/tech/1472426483/27
28: ◆SEdFBOkLSw (アウアウ Sacf-RETc) [sage] 2016/09/01(木) 21:56:03.01 ID:x5Fi8ahca >>24 var f=function (a){ var y=a.shift(); if(y) y().then(function(){f(a)}) } で全部いけるんでないの? http://echo.5ch.net/test/read.cgi/tech/1472426483/28
29: デフォルトの名無しさん (アウアウ Sacf-vSVO) [sage] 2016/09/01(木) 22:40:36.60 ID:ZxoQ7kpta >>26 処理の連続性は保証されるはずだが、Promise.all では要件を満たせないのだな? 並列処理がNGなら下記URLを参考に http://azu.github.io/promises-book/#promise-sequence http://echo.5ch.net/test/read.cgi/tech/1472426483/29
30: デフォルトの名無しさん (ワッチョイ f3ce-wh/5) [sage] 2016/09/01(木) 22:41:37.26 ID:scPPFiSF0 >>26 こっちに答えがあったよ。 http://echo.2ch.net/test/read.cgi/tech/1472401404/130 http://echo.5ch.net/test/read.cgi/tech/1472426483/30
31: デフォルトの名無しさん (ワッチョイ eb5b-wh/5) [sage] 2016/09/01(木) 22:59:22.58 ID:+SVnGf+J0 >>28 前から思ってるんだけど、何でお前らそんな奇妙なコードを書くの? そういう可変長ループはwhileが鉄板で、>>24はそれを知らないだけだろ? 関数型()でインミュータブル()なら、shift使っちゃ駄目だと思うし。(俺は詳しくないが) そのコード自体は自前Promiseとしてarrayを持ち、途中で挿入も出来るから、 そういった用途には面白いと思うよ。 ただ、普通は>>24に対してそれはない。 というか、お前らどこで習った?或いは誰を参考にしてそのコードを書いてる? >>24 while使って書いてみ? 正直、書くのは手間ではないのだけど、コードクレクレ君が集まるのはウザイから、 今回の質問レベルならコピペで動くコードを書く気はない。 ただ、十分なヒントだと思うから、クレクレ君でなければ書けると思うが。 http://echo.5ch.net/test/read.cgi/tech/1472426483/31
32: ◆SEdFBOkLSw (アウアウ Sacf-RETc) [sage] 2016/09/01(木) 23:19:49.59 ID:x5Fi8ahca >>31 while使って書くって、プロミスなのに? 順序が保証できるのならそれで良いとは思うけど。 別に、shiftでも、carとcdrに相当するものでも良いよ。 どこも奇妙じゃないと思うけど。 http://echo.5ch.net/test/read.cgi/tech/1472426483/32
33: デフォルトの名無しさん (ワッチョイ eb5b-wh/5) [sage] 2016/09/01(木) 23:29:32.66 ID:+SVnGf+J0 >>32 いや俺はPromise使ったことがないからその辺詳しくはないが、 >>24なら見た目普通に書けそうだが駄目なのか? そもそも>>24が駄目(動かないコード)なのか?そうだったら済まんかった。 やはりcarとcdrか。 つかcar/cdrで抽象化している関数型みたいな奴って、一般的にarrayを破壊的に使うものなのか? (lispなら最近の大富豪プログラミング以前だからそうなのかもしれんが、 多分最近の関数型なら嫌われるのでは?) http://echo.5ch.net/test/read.cgi/tech/1472426483/33
34: デフォルトの名無しさん (ワッチョイ f3ce-wh/5) [sage] 2016/09/01(木) 23:31:41.25 ID:scPPFiSF0 >>31 ◆SEdFBOkLSw は技術レベル低いくせに 口ばっかりうるさいやつですから・・・ これまでも何度となく、意味不明なこと言ってるよw http://echo.5ch.net/test/read.cgi/tech/1472426483/34
35: デフォルトの名無しさん (ワッチョイ eb5b-wh/5) [sage] 2016/09/01(木) 23:46:42.27 ID:+SVnGf+J0 うーん、一応PromiseをMDNで確認してみたけど、書けると思うけどね。 見た目、functionで入れ子になるのが嫌で、タマネギ型オブジェクトにしてみただけだろ? まあ、俺は使ったことがないから、壮絶な勘違いをしているかもしれんが。 ちなみに>>30は「タマネギ型」であることを説明しているわけだが、 それは>>24見る限り本人は分かってると思うんだよ。 そうではなくて、「n個にしたい」って言ってるんだから、そこを答えないと意味無いだろ。 なんつーか、Promise知ってる俺カッケーな答えでしかないんだよ。>>30は。 http://echo.5ch.net/test/read.cgi/tech/1472426483/35
36: デフォルトの名無しさん (ワッチョイ f3ce-wh/5) [sage] 2016/09/01(木) 23:52:20.69 ID:scPPFiSF0 n個にしたいなら、i < 10 の代わりに i < n にすればいいだけじゃんw http://echo.5ch.net/test/read.cgi/tech/1472426483/36
37: デフォルトの名無しさん (ワッチョイ eb5b-wh/5) [sage] 2016/09/01(木) 23:57:35.19 ID:+SVnGf+J0 だからそこを説明しろってこと。Promiseの説明全くいらんよね。 というか、これを書けないレベルの人がPromiseの使用を強制されられるところが 若干JavaScriptは歪んでる。まあこれも前から思っていることだが。 http://echo.5ch.net/test/read.cgi/tech/1472426483/37
38: デフォルトの名無しさん (ワッチョイ f3ce-wh/5) [sage] 2016/09/02(金) 00:00:22.58 ID:gFIXdWf60 >>24本人、そしてそれ以外の人は、これでわかってるよw http://echo.2ch.net/test/read.cgi/tech/1472401404/130 お前だけが分かってない。 http://echo.5ch.net/test/read.cgi/tech/1472426483/38
39: ◆SEdFBOkLSw (アウアウ Sacf-RETc) [sage] 2016/09/02(金) 00:26:17.09 ID:nUqjDcPOa >>33 まぁ、破壊されたものを次に渡してるし、参照型で渡ってるから気持ち悪いだけで、破壊せずに渡してもいいと思うよ。 多分嫌われるw >>34 本質理解してないお前よりマシだけどな。 なんだあのセンス無いやつ。 >>35 thenの中はコールバック関数で遅延評価だから、whileだと終わったかどうかわかんないと思うけど、どんなソース想定してる? http://echo.5ch.net/test/read.cgi/tech/1472426483/39
40: デフォルトの名無しさん (ワッチョイ eb5b-wh/5) [sage] 2016/09/02(金) 00:40:54.92 ID:oKN/Shh+0 >>39 いやPromiseで書くのはあくまで処理の事前予約だよな? そこは変更不能だし、同期的に確定する。 もちろん中身の関数は実際には後に呼ばれるけど、 一般的にそれを「遅延評価」とは表現しない。 俺の想定しているコードなら、>>30をwhileに変えただけに近い。 とりあえず君の言い分が正しいのなら、>>30は間違いだということになるが、そうか? http://echo.5ch.net/test/read.cgi/tech/1472426483/40
41: ◆SEdFBOkLSw (アウアウ Sacf-RETc) [sage] 2016/09/02(金) 01:01:25.21 ID:nUqjDcPOa >>40 あー、そういう事か。いや、間違ってない。面目ないな。 入れ替えると言うか、それごと変えるという事か。 それは再帰とどっちが良いのかは目的次第かもしれん。 俺は残り回数渡して再帰すると思うわ。setTimeoutで包んで。 http://echo.5ch.net/test/read.cgi/tech/1472426483/41
42: デフォルトの名無しさん (ワッチョイ eb5b-wh/5) [sage] 2016/09/02(金) 01:23:27.78 ID:oKN/Shh+0 >>41 >>23が「動的に」って言っているからそこは微妙なのだけど、 まあ初心者にそこまで厳密に言っても仕方ないからね。 多分あの質問なら単純に「可変長ループ」が分からないのだと思った。 それはさておき、>>28のコードは面白いとは思うが、 >>28を読める奴がこの質問はないだろってこと。 Promiseなら突っ込んだ時点でそこまでの処理は確定だが、 >>28なら途中の関数内で処理を変更出来る。 これを「動的に」と表現するのは自然ではあるが、 これを記述しようとする奴が>>24の質問はない。(と見た) http://echo.5ch.net/test/read.cgi/tech/1472426483/42
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 960 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s