MCPcopy Index your code
hub / github.com/nodejs/node / iterableThrow

Function iterableThrow

test/parallel/test-events-on-async-iterator.js:190–226  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

188}
189
190async function iterableThrow() {
191 const ee = new EventEmitter();
192 const iterable = on(ee, 'foo');
193
194 process.nextTick(() => {
195 ee.emit('foo', 'bar');
196 ee.emit('foo', 42); // lost in the queue
197 iterable.throw(_err);
198 });
199
200 const _err = new Error('kaboom');
201 let thrown = false;
202
203 assert.throws(() => {
204 // No argument
205 iterable.throw();
206 }, {
207 message: 'The "EventEmitter.AsyncIterator" property must be' +
208 ' an instance of Error. Received undefined',
209 name: 'TypeError',
210 });
211
212 const expected = [['bar'], [42]];
213
214 try {
215 for await (const event of iterable) {
216 assert.deepStrictEqual(event, expected.shift());
217 }
218 } catch (err) {
219 thrown = true;
220 assert.strictEqual(err, _err);
221 }
222 assert.strictEqual(thrown, true);
223 assert.strictEqual(expected.length, 0);
224 assert.strictEqual(ee.listenerCount('foo'), 0);
225 assert.strictEqual(ee.listenerCount('error'), 0);
226}
227
228async function eventTarget() {
229 const et = new EventTarget();

Callers

nothing calls this directly

Calls 5

listenerCountMethod · 0.80
onFunction · 0.50
emitMethod · 0.45
throwMethod · 0.45
shiftMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…