Register a streaming channel: every value the returned (async) iterable
yields is sent to the renderer as one chunk, in order.
event.signal is per invocation here, and aborts when the renderer
cancels the stream or its WebContents is destroyed. Either way the
iterator's return() runs, so a generator's finally blocks execute.
Register a streaming channel: every value the returned (async) iterable yields is sent to the renderer as one chunk, in order.
event.signalis per invocation here, and aborts when the renderer cancels the stream or itsWebContentsis destroyed. Either way the iterator'sreturn()runs, so a generator'sfinallyblocks execute.