$ q обещание с Underscore _each
Итак, у меня есть метод на сервере angularjs, который вызывает метод, который возвращает обещание для каждого метода в массиве. Я использую подчеркивание _each для цикла через массив. Я хочу дождаться обработки всего массива, прежде чем я вызову последнюю строку кода в методе.
Так...
function ProcessCoolStuff(coolStuffs)
{
var stuff = [];
_.each(coolStuffs, function(coolStuff)
{
//Some method using $q to return
makeStuffCooler(coolStuff).then(function(coolerStuff)
{
stuff.push(coolerStuff);
});
});
//Maybe Call a Display Method, or call event ect..
ShowAllMyCoolStuff(stuff);
}
Это, конечно, не работает .. цикл завершается и вызывает 'ShowAllMyCoolStuff', прежде чем makeStuffCooler будет выполнен для каждого элемента. Итак ... как правильно взаимодействовать с асинхронным методом, чтобы мой метод ShowAllMyCoolStuff ожидал заполнения коллекции? Это может быть мой недостаток опыта с $ q и обещаний в целом, но я застрял. Заранее спасибо.