Я использую цепочку обещаний в угловом и я хотел бы, чтобы в конце цепочки значение должно быть возвращено:Javascript Угловую решительность цепи обещаний перед возвращением значения результата
this.calculateeventsattended = function(username) {
var Attendees = Parse.Object.extend("Attendees");
var User = Parse.Object.extend("User");
var count_pres = 0
query1 = new Parse.Query(Attendees);
query1.equalTo("user_id",username);
query1.equalTo("presence",true)
var promise = query1.count(function(count){
count_pres = count
}).then(function(){
query2 = new Parse.Query(User);
query2.equalTo("username",username);
query2.first().then(function(object){
alert("parse" + count_pres)
object.set("events_attended",count_pres)
object.save()
})
})
$q.all(promise)
return count_pres
}
по цепочке «обещание» не разрешается до того, как будет возвращено возвращение: count_pres возвращается до завершения $ q.all (обещание). Есть идеи?
вместо '$ q.all (обещание) возвращение count_pres' использовать' возврат $ q.all (обещание) ' – varit05
он не работает: в этом случае вся цепочка обещание будет возвращен вместо только value count_pres – ai20
возвращает объединенные обещания вместо возврата count_pres так же, как и @ varit05, и обрабатывает присвоение значений вне этой функции. Обещания асинхронны – doge1ord