Returns an AsyncIterator that iterates eventName events. It will throw if
the EventEmitter emits 'error'. It removes all listeners when exiting the
loop. The value returned by each iteration is an array composed of the
emitted event arguments.
Creates a Promise that is fulfilled when the EventEmitter emits the given
event or that is rejected when the EventEmitter emits 'error'. The Promise
will resolve with an array of all the arguments emitted to the given event.