- From: Ms2ger <notifications@github.com>
- Date: Sun, 13 Oct 2019 03:42:49 -0700
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/pull/805/review/301042942@github.com>
Ms2ger approved this pull request.
Thanks and sorry for the delay.
> @@ -4307,6 +4307,21 @@ iteration, or resolves with a tuple containing two elements:
1. a value of the first type given in the declaration;
1. a value of the second type given in the declaration.
+The prose may also define an <dfn export>asynchronous iterator return</dfn> algorithm. This
+algorithm receives the instance of the [=interface=] that is being iterated, the async iterator
+itself, and a single argument value. This algorithm is invoked in the case of premature termination
And the single argument value is an {{any}} value?
> + * the platform object |object|,
+ * the identifier "<code>return</code>", and
+ * the type "<code>method</code>".
+
+ If this threw an exception |e|, then:
+ 1. Perform [=!=] [$Call$](|returnPromiseCapability|.\[[Reject]],
+ <emu-val>undefined</emu-val>, « |e| »).
+ 1. Return |returnPromiseCapability|.\[[Promise]].
+
+ 1. If |object| is not a [=default asynchronous iterator object=] for |interface|, then:
+ 1. Let |error| be a new {{ECMAScript/TypeError}}.
+ 1. Perform [=!=] [$Call$](|returnPromiseCapability|.\[[Reject]],
+ <emu-val>undefined</emu-val>, « |error| »).
+ 1. Return |returnPromiseCapability|.\[[Promise]].
+
+ 1. If |object|'s [=default asynchronous iterator object/ongoing promise=] is not undefined, then:
Check if this undefined needs an emu-val? I don't remember which way this one goes.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/805#pullrequestreview-301042942
Received on Sunday, 13 October 2019 10:42:52 UTC