2016-12-02 5 views
4

fetchReadableStreamを使用しようとしています。この例では、ReadableStreamは単に「Some data ...」を無期限に繰り返す必要があります。ReadableStreamで取得

fetch('/', { 
    method: 'POST', 
    body: new ReadableStream({ 
    pull: function(controller) { 
     console.log('pull called!'); 
     controller.enqueue('Some data...'); 
    } 
    }) 
}); 

これは動作しません。 pullが1回実行されている間は、要求本体にデータは送信されません。

POST/HTTP/1.1 
Host: example.com 
Connection: keep-alive 
Content-Length: 0 
Origin: https://example.com 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 
Accept: */* 
Referer: https://example.com/ 
Accept-Encoding: gzip, deflate, br 
Accept-Language: en-US,en;q=0.8 

フェッチでReadableStream(または私がダイナミックデータを書き込めるストリームの種類)を作るにはどうすればよいですか?

これがまだ可能でない場合は、これを明記してください。ありがとうございました。

注:これはからより具体的なスピンオフ質問です:私たちは、この作品を作ることに取り組んでいるMethod for streaming data from browser to server via HTTP

+1

https://github.com/whatwg/fetch/issues/439 – guest271314

答えて

3

、取得規格へのPRのためhttps://github.com/whatwg/fetch/pull/425を参照してください。これが完了すると、これがブラウザに(ゆっくりと)進化すると期待できます。

+0

ありがとうございます。今日、MDNのドキュメントがReadableStreamが使えると言っている理由は何ですか?今日は何を使用していますか? – Brad

+0

これはChromeの 'Response'オブジェクトで使用できます。 – Anne

+1

MDNのドキュメントでは、要求にReadableStreamを使用できると言っています。 https://developer.mozilla.org/en-US/docs/Web/API/Request – Brad

関連する問題