Я пытаюсь реализовать цикл while с помощью promises.
Метод, описанный здесь, кажется, работает. http://blog.victorquinn.com/javascript-promise-while-loop он использует такую функцию
var Promise = require('bluebird');
var promiseWhile = function(condition, action) {
var resolver = Promise.defer();
var loop = function() {
if (!condition()) return resolver.resolve();
return Promise.cast(action())
.then(loop)
.catch(resolver.reject);
};
process.nextTick(loop);
return resolver.promise;
};
Это похоже на использование анти-шаблонов и устаревших методов, таких как литье и отсрочка.
Кто-нибудь знает лучший или более современный способ добиться этого?
Спасибо