Проблема с паролем Parse Javascript SDK, выполняющим работу с бэкэнд.Parse.Promise.as() не возвращает Promise
У меня есть функция, которая возвращает другое обещание в зависимости от условий. В том случае, когда удовлетворяется ни одно из условий, я хотел бы вернуть «фиктивную» обещание, что ничего не делает:
function myFunction() {
if (condition1)
return somePromise();
else if (condition2)
return someOtherPromise();
else
return ???
}
Я попытался возвращение Parse.Promise.as()
, но это не помогает, когда ни условие:
E2015-03-18T21:31:50.410Z] v41: Ran job checkup with:
Input: {}
Failed with: TypeError: Object false has no method 'then'
at jobs/checkup.js:18:73
at null.<anonymous> (Parse.js:3:19012)
at e (Parse.js:2:6670)
at Parse.js:2:7423
at g (Parse.js:2:7160)
at c.extend.then (Parse.js:2:7408)
at Parse.js:3:18989
at Array.forEach (native)
at Function.x.each.x.forEach (Parse.js:1:661)
at Parse.js:3:18966
Edit: Вот где функция вызывается:
function checkup() {
return Parse.Cloud.job("checkup", function(request, status) {
var query = new Parse.Query(Parse.User);
query.equalTo("active", true);
query.each(function(user) {
return myFunction().then(function() {
return user.save();
});
}).then(function() {
status.success('success');
});
});
}
Ошибка подразумевает, что myFunction возвращает false, а вызывающий пытается вызвать then() на нем. Возможно ли, что ваши функции somePromise() или someOtherPromise() фактически возвращают false, а не обещание? Казалось бы, так. Parse.Promise.as(). Then() должен работать нормально. – danh
Можете ли вы опубликовать трассировку стека этого исключения? – Bergi
'return Parse.Promise.as (dummmyresult);' должен быть путь. – Bergi