トップページ > プログラム > 2016年08月21日 > sjfW/TwQ

書き込み順位&時間帯一覧

14 位/163 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000010023



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net

書き込みレス一覧

+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
505 :デフォルトの名無しさん[sage]:2016/08/21(日) 20:31:06.26 ID:sjfW/TwQ
まあFileReaderはもう過去のものだけどね。

(昔)
fr = new FileReader
fr.onload = () => console.log(fr.result)
fr.readAsText(file)

(今)
new Response(file).text().then(res => console.log(res))

でも大きなデータの時は実質これは使えない。
Streamを使えば外部ファイルの全データの到着を待たず、
もしくは内部ファイルの全テータを展開せずに利用することができる。
それをrequestIdleCallbackでreadしながらTextDecoderで貯めていくのがベスト。
+ JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
509 :デフォルトの名無しさん[sage]:2016/08/21(日) 23:05:11.25 ID:sjfW/TwQ
>>506
FileReaderだと大前提としてFileでないといけない、fileとして読み込みが完了するのを待たないといけない。
文字列が欲しいにしろABが欲しいにしろ、FRを使うときは部分をすぐにでも欲しい場合が多い。
そうでないのなら、(fetchする場合)最初からテキストとして読み込んだり、既存のメディアタグで再生させればいいだけだからね。
もちろんローカルの小さなテキストファイルをDnDして表示する程度にStreamを使うのは大袈裟。

でも多くの場合にはStreamで得るのがファイルの読込中から随時読み出せるので結果最も早いし効率的。
fileを作ること無くストリーミングで処理もできるので理論的には馬鹿でかい外部ファイルでも容易に扱える。
一方すでにfileとして取得した内部ファイルの場合、現在の実装では残念ながらnew Response(file).body......とかやっても省メモリにはならない。
現状では巨大ファイルを扱うのにはslice必須。将来の最適化に期待。

RICの件はbyob modeと合わせればdefaultでread任せにするより複数の意味で効率的なはずだ。
まあそこまで大袈裟にしなくともread任せで十分だろうが。
Workerはどうだろうね。結局メインに送るようじゃ効率的とは言えない。
まあWorkerでできることというか、いろいろできるWorkerが増えてるから案外アレなのかもしれない。
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net
362 :デフォルトの名無しさん[sage]:2016/08/21(日) 23:35:23.04 ID:sjfW/TwQ
トランザクションはversionchange全体で1つ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。