- From: Mattias Buelens <notifications@github.com>
- Date: Fri, 14 Sep 2018 01:48:23 -0700
- To: whatwg/streams <streams@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/streams/pull/954/review/155402891@github.com>
MattiasBuelens requested changes on this pull request. One more thing we missed in the spec text: `next()` and `return()` should return rejected promises instead of throwing. @domenic got it right in their proposed test plan. > + </thead> + <tr> + <td>\[[asyncIteratorReader]] + <td class="non-normative">A {{ReadableStreamDefaultReader}} instance + </tr> + <tr> + <td>\[[preventCancel]] + <td class="non-normative">A boolean value indicating if the stream will be <a lt="cancel a readable + stream">canceled</a> when the async iterator's {{ReadableStreamAsyncIteratorPrototype/return()}} method is called + </tr> +</table> + +<h4 id="rs-asynciterator-prototype-next" method for="ReadableStreamAsyncIteratorPrototype">next()</h4> + +<emu-alg> + 1. If ! IsReadableStreamAsyncIterator(*this*) is *false*, throw a *TypeError* exception. This should return a rejected promise, rather than throw an exception. From [this comment](https://github.com/whatwg/streams/pull/954#issuecomment-421107013) by @domenic: > Calling next() or return() on non-ReadableStreamDefaultReaderAsyncIterator instances rejects with TypeError (there are existing brand check tests you can add to) > +</table> + +<h4 id="rs-asynciterator-prototype-next" method for="ReadableStreamAsyncIteratorPrototype">next()</h4> + +<emu-alg> + 1. If ! IsReadableStreamAsyncIterator(*this*) is *false*, throw a *TypeError* exception. + 1. Let _reader_ be *this*.[[asyncIteratorReader]]. + 1. If _reader_.[[ownerReadableStream]] is *undefined*, return <a>a promise rejected with</a> a *TypeError* exception. + 1. Return ! ReadableStreamDefaultReaderRead(_reader_, *true*). +</emu-alg> + +<h4 id="rs-asynciterator-prototype-return" method +for="ReadableStreamAsyncIteratorPrototype">return( <var>value</var> )</h4> + +<emu-alg> + 1. If ! IsReadableStreamAsyncIterator(*this*) is *false*, throw a *TypeError* exception. Same as above, this should return a rejected promise. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/whatwg/streams/pull/954#pullrequestreview-155402891
Received on Friday, 14 September 2018 08:48:44 UTC