Vow: самые быстрые промисы
Хочу предоставить вашему вниманию библиотеку Vow, которую написал мой коллега Дмитрий Филатов dfilatov. Библиотека реализует Promises/A+, работает очень быстро и требует малого объема памяти. По тестам производительности сильно опережает Q, но при этом сохраняет асинхронную манеру работы. Работа с Vow выглядит так же просто, как работа с Q. Из недостатков (по сравнению с Q) можно лишь выделить отсутствие progress. Пример кода с использованием Vow: function readFile (filename, encoding) { var promise = Vow.promise (); fs.readFile (filename, encoding, function (err, data) { if (err) return promise.reject (err); promise.fulfill (data); }); return promise; } Vow.all ([readFile ('test1.txt', 'utf8'), readFile ('test2.txt', 'utf8')]).then (function (results) { console.log (results.join ('\n')); }); Читать дальше →