node/test/parallel/test-stream-writable-final-async.js
Robert Nagy 1f722a1c77
stream: allow calling callback before promise
Refs: https://github.com/nodejs/node/issues/39535

PR-URL: https://github.com/nodejs/node/pull/40772
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-01-31 22:53:46 -05:00

26 lines
536 B
JavaScript

'use strict';
const common = require('../common');
const {
Duplex,
} = require('stream');
const { setTimeout } = require('timers/promises');
{
class Foo extends Duplex {
async _final(callback) {
// eslint-disable-next-line no-restricted-syntax
await setTimeout(common.platformTimeout(1));
callback();
}
_read() {}
}
const foo = new Foo();
foo._write = common.mustCall((chunk, encoding, cb) => {
cb();
});
foo.end('test', common.mustCall());
foo.on('error', common.mustNotCall());
}