[過去ログ] + JavaScript の質問用スレッド vol.122 + [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
97: ◆SEdFBOkLSw (スププ Sd5f-RETc) 2016/09/04(日)14:48 ID:ysPFxgV5d(4/7) AAS
理由が理解できてないだけだったか…
98
(1): (ワッチョイ 13ce-wh/5) 2016/09/04(日)14:51 ID:+uXpWhFu0(2/10) AAS
>>96
> 中で、一連のJSが走り終わってから走ってほしいという意図で、setTimeoutやら、setImmediateを使われていたら、

そんな話全くしてないよね?
何先走ってるのさw
99: (ワッチョイ 13ce-wh/5) 2016/09/04(日)15:01 ID:+uXpWhFu0(3/10) AAS
いつsetTimeoutを使う必要があるかを考えて見ればわかると思うんだけどな(苦笑)

まずPromiseを使うときって言うのは、通常は非同期処理を行うAPIを使う時、
同期処理であればそもそもPromiseを使う必要が無い。

非同期処理を行うAPIを使うならば、非同期処理のAPIがsetTimeoutと
同じ効果をもたらすのでsetTimeoutを使うまでもなく一連のJSが
走り終わってから実行になる。

つまりsetTimeoutを使う必要があるのは、
「Promiseを返す関数の中で非同期APIを使ってない場合」に
限られるということ。

何も考えずに付け加えれば万事OKみたいに扱うものじゃない。
100: ◆SEdFBOkLSw (スププ Sd5f-RETc) 2016/09/04(日)15:07 ID:ysPFxgV5d(5/7) AAS
>>98
>>48でも、もし、キューが溜まってるならって言ってるし、
>>52では同じこと言ってるんだけど、
憎さのあまり読んでなかったのかな。もしくは「キュー」が何のキューなのか理解できてなかったのか。

付け加えてもなく、最初から俺はそうってるし、
「使っていない」なんて元にはないんだから、
「安全側」って言葉が出てくんだけど。
101: (ワッチョイ 13ce-wh/5) 2016/09/04(日)15:15 ID:+uXpWhFu0(4/10) AAS
あまり「安全側」という言葉を遣うなよ。

理由を明確に示していない「安全側」というのは
とりあえずこうしておけばうまくいくんじゃね程度の
浅い考えでしかない。
102
(1): (ワッチョイ 13ce-wh/5) 2016/09/04(日)15:37 ID:+uXpWhFu0(5/10) AAS
なかなかいいサンプルを思いつかなかったが
やっと思いついた。

var p = Promise.resolve(1);
setTimeout(function() {
 // 1秒も待っているので、pは確実にresolveされたPromise
 console.log('start')
 p.then(i => console.log(i))
 console.log('end')
}, 1000);

この場合、start -> end -> 1 の順で表示される。
省8
103: ◆SEdFBOkLSw (スププ Sd5f-RETc) 2016/09/04(日)17:17 ID:ysPFxgV5d(6/7) AAS
>>102
そうじゃない、何故1秒も待つのに使うものと、setImmediateと比べんのかわからん。
DOM弄って0待つ(DOM構築待ち)とか、そういうのじゃん。
getElementById("hoge").innerText=xxxxxx
setTimeout(function(){
//hogeの大きさ見たりする処理
},0)
みたいなやつ。

>>102
thenを使ったら必ず非同期になる、なんて言語仕様に書いてあるのにそういう検証してなんの意味があんのかわからん。
省3
104: (ワッチョイ 13ce-wh/5) 2016/09/04(日)17:19 ID:+uXpWhFu0(6/10) AAS
> thenを使ったら必ず非同期になる、なんて言語仕様に書いてあるのにそういう検証してなんの意味があんのかわからん。

だからsetTimeoutはいらないだろ?
105
(1): (ワッチョイ 13ce-wh/5) 2016/09/04(日)17:22 ID:+uXpWhFu0(7/10) AAS
> setTimeout(function(){
> //hogeの大きさ見たりする処理
> },0)
> みたいなやつ。
お前が俺が書いたコードの意図がわかってないだけ。

> ただ誰のどんな環境かわからん質問への返答としては、安全側としか言いよう無くない?

誰のどんな環境が分からないというならIE6の可能性もあるが?

なんで誰のどんな環境変わらんと言っておきながら
「Promiseが使えるが仕様通りでなく、その仕様通りでないというのは、
Promiseのthenが同期的に動くと言うバグがあること」という
省2
106: (ワッチョイ 13ce-wh/5) 2016/09/04(日)17:26 ID:+uXpWhFu0(8/10) AAS
仮にPromiseが仕様通りに動かないブラウザが有ったとして、
仕様通りに動くBluebirdを使えば、
すべてのブラウザで同じ挙動になるわけさ。

仕様外のブラウザがあることを懸念するならば、
素直にポリフィルを使ったほうが良い。
107
(1): (ワッチョイ a3a1-10NS) 2016/09/04(日)18:48 ID:yHJJ2SAO0(1) AAS
promise実装に問題があるならコールバック地獄に書き直せば良いだけの話じゃ無いの
奇策使ってまで残す理由が分からん
108
(1): ◆SEdFBOkLSw (スププ Sd5f-RETc) 2016/09/04(日)18:58 ID:ysPFxgV5d(7/7) AAS
素直に、読んでませんでしたと何故言えんのだろうか。
109: (ワッチョイ 13ce-wh/5) 2016/09/04(日)19:01 ID:+uXpWhFu0(9/10) AAS
>>105へのレスをお願いします。
110
(1): (ワッチョイ eb5b-wh/5) 2016/09/04(日)19:21 ID:AXUinR+60(1) AAS
>>107
Promise使わないと死んじゃう病気なんだろ。
典型的な「手段と目的の混同」でしかないけど、割とどこの界隈でもいると思うが。
111
(1): (ワッチョイ 13ce-wh/5) 2016/09/04(日)20:30 ID:+uXpWhFu0(10/10) AAS
>>110
これは「コールバック"地獄"」と書いてあるところから
ジョークと受け取って欲しいってことだと思ったがw
いや君が分かってやってるのなら良いんだけどさ。
112: (ワッチョイ e33c-FA7T) 2016/09/04(日)20:57 ID:me3Bqu020(1/2) AAS
以下のHTMLがあるんですが上のclass="a"のDIVを上のtitle内に、
下のclass="a"のDIVを下のtitle内に入れたいのですが
Jqueryでどのように書けばよいでしょうか?
どなたか教えて下さい

<div>
<div class="title"></div>
<div>
<div class="a">111</div>
</div>
</div>
省6
113: (ワッチョイ 13ce-dyuG) 2016/09/04(日)21:19 ID:XuW4/w2e0(1) AAS
$('.title').append(function() {
return $(this).next().find('.a');
})
114: (ワッチョイ e33c-10NS) 2016/09/04(日)21:47 ID:me3Bqu020(2/2) AAS
素晴らしいです
ありがとうございました!
115: (ワッチョイ 13ce-wh/5) 2016/09/04(日)21:48 ID:m9ZxPHXs0(1) AAS
良いってことよ。でもまあjQueryのスレはこっちだからな

+ JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]©2ch.net
2chスレ:hp
116
(2): (ワッチョイ 4979-nUk7) 2016/09/12(月)16:02 ID:QAsPefCB0(1/2) AAS
input type numberのフォームリセットボタンを作りたいのですが
class名を引数に用いることはできないのでしょうか?

<head>
<script type="text/javascript">

function(hiki){document.querySelector("div.hiki input").value=0;}

</script>
</head>
<body>

<div class="tamago">
<input type="number" value="0">
省3
1-
あと 886 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s