- 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