[過去ログ] 【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