RT
Size: a a a
RT
P
RT
const queue = async (req, res) => {
  const bufferData = [1, 2, 3, 4, 5, 6];
  while (bufferData.length > 0) {
    try {
      const data = bufferData.pop();
      await new Promise((resolve, reject) => {
        if (Math.random() > 0.5) {
          resolve()
        } else {
          reject()
        }
      }).then(
        () => {
          console.log('success');
        },
        (err) => {
          console.log('fail');
          bufferData.push(data);
        }
      );
    } catch (err) {
      console.log(err);
    }
  }
  console.log('end');
  console.log(bufferData);
};
(async () => await queue())();RT
RT
VP
VC
V
TS
class Example {} и потом смотрим Example.prototypeTS
AS
S
AS
S
AS
VM
pipeline(
fs.createReadStream(filePath),
new SomeTransformator,
process.stdout,
(e)=>console.log(e)
)
N
process.exit(0)VM
N
const { pipeline } = require('stream/promises');
async function run() {
  await pipeline(
    fs.createReadStream('archive.tar'),
    zlib.createGzip(),
    fs.createWriteStream('archive.tar.gz')
  );
  console.log('Pipeline succeeded.');
  process.exit(0);
}
run().catch(console.error);VM