- From: Ms2ger <notifications@github.com>
- Date: Thu, 16 May 2019 04:33:04 -0700
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/pull/720/review/238334290@github.com>
Ms2ger commented on this pull request. > +being iterated over asynchronously to obtain a sequence of values. + +Note: In the ECMAScript language binding, an interface that is asynchronously iterable will have +<code class="idl">entries</code>, <code class="idl">keys</code>, <code class="idl">values</code>, +and {{@@asyncIterator}} properties on its [=interface prototype object=]. + +Prose accompanying an [=interface=] with an [=asynchronously iterable declaration=] must define a +<dfn id="dfn-get-the-next-iteration-result">get the next iteration result</dfn> algorithm. +This algorithm receives a <b>[=this=]</b> value, which is an instance of the [=interface=] that it +is defined for, and the <dfn export>current state</dfn>. +It must return a {{Promise}} that either resolves with undefined – to signal the end of the +iteration – or a tuple with three elements: + +1. a value of the first type given in the declaration; +1. a value of the second type given in the declaration; +1. an opaque value that is passed back to the next invocation of the algorithm, With "yield"? I added a commit to https://github.com/WICG/kv-storage/pull/68 to see what that looks like. It seems kinda weird to be throwing and yielding out of promise handlers and event listeners, but if you think it makes sense, I can try to draft prose for IDL to make it well-defined. -- 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/720#discussion_r284662305
Received on Thursday, 16 May 2019 11:33:26 UTC