Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 May 06

RT

Roman Terentev in NodeUA - JavaScript and Node.js in Ukraine
так это режим гонки - нужен рефакторинг
источник

P

Past in NodeUA - JavaScript and Node.js in Ukraine
Думал, про это. Может еще какие-то способы есть
источник

RT

Roman Terentev in NodeUA - JavaScript and Node.js in Ukraine
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())();


poc
источник

RT

Roman Terentev in NodeUA - JavaScript and Node.js in Ukraine
лучше разложить по проще (нагляднее)
источник

RT

Roman Terentev in NodeUA - JavaScript and Node.js in Ukraine
мой пример тоже с ошибкой )
источник

VP

Viktor Poliushko in NodeUA - JavaScript and Node.js in Ukraine
Привіт, можливо є для телегі якесь розширення щоб код хоч якось гарніше виглядав на екрані телефона?
источник

VC

Valera CSS_Junior in NodeUA - JavaScript and Node.js in Ukraine
Так как в JavaScript прототипное наследование и в качестве родителя выступает не класс, а конкретно сформированый объект, то я правильно понимаю, что объект родителя постоянно создаётся?
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
Навряд.
Все залежить від того, як саме ти створюєш об'єкт, прототип може по різному добавлятись.
Но точно не "постоянно создаётся"
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
У класса автоматически создеается прототип, например class Example {} и потом смотрим Example.prototype
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Класс порождает объекты одинакового интерфейса, и порожденные от одного класса объекты содержат ссылку на один (единый) прототип
Поэтому нельзя сказать, что объект родителя пересоздаётся
Ссылка на родителя записывается в каждый инстанс, скорее так
источник

S

Sergey in NodeUA - JavaScript and Node.js in Ukraine
Разве Example.prototype является прототипом класса? Скорее это объект, на который будет ссылаться прототип инстанса класса
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
А где он сказал, что это прототип класса?)
Это поле самого класса, которое будет в _proto_ у инстанса
источник

S

Sergey in NodeUA - JavaScript and Node.js in Ukraine
Просто с первого взгляда сообщение Тимура выглядит неоднозначно. Думаю что не помешала бы более четкая формулировка)
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Так или иначе - в лекции все разжевано, и этот момент в том числе)
источник

VM

Vlad Moskov in NodeUA - JavaScript and Node.js in Ukraine
Подскажите как завершить выполнение приложения после успешного вывода данных (текст в моем случае) в консоль

 pipeline(
        fs.createReadStream(filePath),
        new SomeTransformator,
        process.stdout,
        (e)=>console.log(e)
)
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
process.exit(0)
источник

VM

Vlad Moskov in NodeUA - JavaScript and Node.js in Ukraine
Вопрос в том куда его вставить
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
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

Vlad Moskov in NodeUA - JavaScript and Node.js in Ukraine
Спасибо, пробовал подобную конструкцию, еще раз переписал, результат тот же - exit срабатывает до вывода
источник