【node.js】サーバサイドjavascript 3【io.js】©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0043デフォルトの名無しさん
2015/01/04(日) 18:06:08.86ID:NffMCEWR> a += 1;の実行が終わってからとは言ってないと思うが
"5 Processing Model"の4に、5以降は非同期に実行すると書いてある
> 置き換えて何だよ?
お前が使ってるブラウザに合わせて読み替えろというだけだ
サーバサイドJSスレとしてはnodeで使えるprocess.nextTick()やsetImmediate()で何の問題もない
> platform code(要するにJavaScriptでないコード)を実行しろとわざわざ書いてる
"paltform code"はプラットフォームごとに異なるコードという意味で
それがJSで実装されてようがされてまいがどうでもいい
実のところnodeのsetImmediate()はJSで実装されている
https://github.com/joyent/node/blob/v0.10/lib/timers.js#L361
> > 違うなら「ブラウザが内部で実装しないと無理」な理由を具体的に書いてくれ
> 元の質問は↑これ、お前は論点をずらそうとしてるだけだな
いみふ
「ブラウザが内部で実装しないと無理」の対象はPromiseそのものの実装だ
Promiseの実装が呼び出すAPIの話じゃない
「stringはブラウザで実装されている」を理由に「stringを使うのはブラウザが内部で実装しないと無理」っておかしいだろ?
"platform code"がブラウザやnodeで実装されていても、それを使うコードはJSで書ける
たとえばQはこの辺で"platform code"を呼び分けてる (モダンブラウザだとpostMessage()が使われてるな)
https://github.com/kriskowal/q/blob/v1/q.js#L160
これは「ブラウザが内部で実装しないと無理」ではなく普通のJSのコードだ
■ このスレッドは過去ログ倉庫に格納されています