[過去ログ] 【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
504(2): 2017/04/08(土)17:40 ID:py60arCP(2/15) AAS
>>500
> 単純に、Responseにabortメソッドを付けるのが良いと思う
fetchの戻り値はpromiseであってresponseではない。
responseはpromiseのthenの時に渡される。
promiseのthenが呼び出されるのはfetchの処理が完了した後。
つまりresponseを取得したとき=fetchし終わった時に
abortするのは遅すぎる
505(2): 2017/04/08(土)18:46 ID:1OsO7EoR(1/2) AAS
>>499
なにを見通してるのかさっぱり分からんがnodeは低水準のapiを提供するものだ
そうすれば複数のシステムコールを組み合わせた高水準apiはユーザーレベルのライブラリで実現できる
だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない
506(1): 2017/04/08(土)18:50 ID:1OsO7EoR(2/2) AAS
>>504
仕様にはstreamが追加されてる
外部リンク:fetch.spec.whatwg.org
507(1): 2017/04/08(土)18:56 ID:py60arCP(3/15) AAS
>>505
> nodeは低水準のapiを提供するものだ
どこにそんなことが書いてあるのか?
nodeの立場はブラウザと同じだ。
JavaScriptの実行環境だ。
お前の理屈だと、ブラウザは低水準のAPIを提供するものということになる。
508(2): 2017/04/08(土)18:58 ID:py60arCP(4/15) AAS
>>505
> だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない
じゃあ、例えば、fs.lstatSync は posixのどの薄いラッパーなのか言ってみ
509: 2017/04/08(土)19:01 ID:py60arCP(5/15) AAS
>>506
> 仕様にはstreamが追加されてる
どっちみち仕様を加えるなら
Observableにした方がいいだろうな。
510(3): 2017/04/08(土)19:02 ID:py60arCP(6/15) AAS
しかもPOSIXは非同期I/Oをキャンセルする機能あるじゃんwww
外部リンク[html]:linuxjm.osdn.jp
aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする
POSIX.1-2001, POSIX.1-2008.
511(1): 2017/04/08(土)19:22 ID:+j3lf9vK(1/8) AAS
>>507
外部リンク[html]:nodejs.org
File I/O is provided by simple wrappers around standard POSIX functions.
>>508
lstat
>>510
posix aioはほとんどのosで実装されてないしnodeでもサポートしてない
512: 2017/04/08(土)19:25 ID:+j3lf9vK(2/8) AAS
>>510
細かく言うとposix aioはほとんどのos kernelで実装されてない
gnuがユーザーレベルのライブラリとして実装したものがあるだけ
513: 2017/04/08(土)19:34 ID:+j3lf9vK(3/8) AAS
manだとlstat(2)に対して>>510のaio_xxx(3)なのでシステムコールじゃないことが分かる
514(1): 2017/04/08(土)19:36 ID:py60arCP(7/15) AAS
>>511
lstatは非同期じゃないぞw
515(1): 2017/04/08(土)19:39 ID:+j3lf9vK(4/8) AAS
>>504
fetch apiが返すpromiseはfetchが完了してからresolveするわけではない
完了してからresolveするのはres.text()が返すpromise
516(1): 2017/04/08(土)19:40 ID:+j3lf9vK(5/8) AAS
>>514
>>508のlstatSyncは非同期じゃない
517(1): 2017/04/08(土)19:43 ID:py60arCP(8/15) AAS
>>516
逆だったなw
fs.lstatの方だ
518(1): 2017/04/08(土)19:45 ID:+j3lf9vK(6/8) AAS
>>517
lstat
519(1): 2017/04/08(土)19:46 ID:py60arCP(9/15) AAS
>>515
> fetch apiが返すpromiseはfetchが完了してからresolveするわけではない
完了してからだよ。正確にはレスポンスが返ってきてから、
データの受信が完全に完了してからではない。
でないと、Response.statusが取れるわけがないだろう?
520(1): 2017/04/08(土)19:46 ID:py60arCP(10/15) AAS
>>518
それではシステムコールにあるPromise相当のものは何?w
521(1): 2017/04/08(土)19:51 ID:+j3lf9vK(7/8) AAS
>>519
そう、だから完了してからじゃないじゃん
最初のチャンクが届いたらresolveする
「fetchの処理が完了した後」は明らかな間違い
522(1): 2017/04/08(土)19:53 ID:+j3lf9vK(8/8) AAS
>>520
システムコールにはない
単にワーカースレッドでlstat呼ぶだけ
523(2): 2017/04/08(土)19:53 ID:py60arCP(11/15) AAS
>>521
Fetchの処理はリクエスト投げてレスポンス戻すところまでだよ。
ダウンロードが終了するまでの話は最初からしてない
で、Fetchのキャンセル(thenが発動する前)はPromiseでできるの?
できないでしょ?
そこに新しい仕様が必要ならObservableを使えば良いわけさ。
上下前次1-新書関写板覧索設栞歴
あと 479 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.011s