>>/159688/
> ところで、「}」の後ろに「;」をつけるのは癖ですか? 実害はないと思いますが、普通付けないなと思ったので。
到達不能だってlinterに怒られることもあります…
閉じ波括弧の後にelseに絶対続かない、catchにも続かない、他の制御や宣言に続かない。ということが絵的に分かりやすくて好んで付けてます。
>>/159687/
キャッシュを使うかどうかの判定はマスタープレイリスト(16進数16桁.m3u8)を読んだ時に起きるので、
repeat時にマスタープレイリストの読み直しが発生することがあるんですかね。
コードを"nvapi", "/v1/"でgrepした限りでは該当なし。
"/api/"は該当はあるけど関係ありそうなものはなさそう。
dms(domand)用に追加したコードは、watchページのdata-api-dataのjsonの把握と*.domand.nicovideo.jp通信のハンドリングがメインなので、これだけで取れるページと取れないページがあるのかも知れませんね。
>>/159689/
それで言われて分かった。
onRequestに同じような(微妙に違う)通信が複数回来るんです。
それで既にコンプリート処理が走った後にChunkListenerを通るcmfv,cmfa通信があるってことですね。
コンプリート処理が走ると一時フォルダがnullになるから、ということ。
この「onRequestに同じような通信が複数回来る」問題。
私が開発し始める前からあったので、もっと低レイヤーな通信部分に原因がありそうなんですよね…
ちょっと前にtlsからhttpを取り出すところを確認したら、その時点でほぼ同じ通信が2回通っていたので見当が付かないです。
curlで要求をするとonRequestを通るのは1回だけだったで、ブラウザとNicoCacheとの間に何かあるとは予想してますが。