У меня есть проблемы со следующей цепочкой обещаний:Promise не возвращает правильный объект
Parse.Cloud.run('cloudlogin', {
fb_accessToken: $localStorage.accessTokenFacebook
, facebookID: FACEBOOKID
}, {
success: function (userdata) {
alert(JSON.stringify(userdata))
$localStorage.username = userdata.username;
$localStorage.password = userdata.password;
$localStorage.fb_access_token = userdata.fb_accessToken;
var bool = userdata.isnewuser
alert('bool' + bool)
return bool
}
, error: function (error) {
alert(error)
$state.go("login")
.then(function() {
$ionicLoading.hide()
})
}
})
.then(function (isnewuser) {
$localStorage.organizerAccess = true;
alert('fbdata' + JSON.stringify(isnewuser))
})
Я хотел бы сделать первое обещание вернуть булев «isnewuser» для второго обещания, но вместо этого возвращается весь объект 'userdata'. Есть идеи?
вы не можете просто использовать 'userdata.isnewuser'? Кажется, у вас уже есть собственность, которую вы ищете в следующем обещании. –
Да, я могу, конечно, но это не правильное решение ... проблема в том, почему «return bool» не возвращает то, что должно быть сделано – ai20
Я считаю, что это имеет какое-то отношение к 'Parse.Cloud.run' ' реализация обещаний. Стандартный HTML Promise будет работать так, как вы ожидаете, но вы просто вводите функции в 'Parse.Cloud.run', который, вероятно, имеет свою собственную реализацию Promise, а не Vanilla HTML Promise. –