1'use strict'; 2const common = require('../common'); 3const assert = require('assert'); 4const { Worker } = require('worker_threads'); 5 6// Verify that `.terminate()` interrupts the microtask queue. 7 8const worker = new Worker(` 9function loop() { Promise.resolve().then(loop); } loop(); 10require('worker_threads').parentPort.postMessage('up'); 11`, { eval: true }); 12 13worker.once('message', common.mustCall(() => { 14 setImmediate(() => worker.terminate()); 15})); 16 17worker.once('exit', common.mustCall((code) => { 18 assert.strictEqual(code, 1); 19})); 20