У меня есть две функции: один, который извлекает объекты, а другой, который присваивает эти объекты в собственность объекта:Почему следующий код Parse не возвращает ошибку?
var Building = Parse.Object.extend('Building')
store.findBuildings =() => {
var query = new Parse.Query(Building)
return query.find({
success: function (building) {
console.log('Succes:', building)
},
error: function (building, error) {
console.log('Error:', error.message)
}
})
}
store.reloadBuildings = (obj, prop) => {
store.findBuildings().then(buildings => {
console.log('BUILDINGS', buildings)
let buildings2 = _.map(buildings, (building) => building)
console.log('BUILDINGS 2', buildings2)
}, function (err) {
console.log('Error:', err)
})
}
Если я console.log('BUILDINGS', buildings.toJSON())
в store.reloadBuildings
в console.log
сек остановки выводящий что-нибудь, что означает, что была ошибка. Однако console.log('Error:', err)
ничего не отображает.
Возможно, я написал ошибку обработки неправильно?
EDIT:
Я также попытался это:
}).catch(err => {
console.log('Error:', err)
})
Но я получаю: Uncaught TypeError: store.findBuildings(...).then(...).catch is not a function
Относительно вашего редактирования: Parse не использует Promise на основе ES6. Они используют свою собственную реализацию. Вместо '.catch()' они имеют ['.fail()'] (https://parse.com/docs/js/api/classes/Parse.Promise.html#methods_fail). –
@ Джонатан Лоновски О, ты прав. Не могли бы вы опубликовать это как ответ? Странно, я никогда не слышал о «fail()», и я довольно долго использовал ES6 и Parse. – alexchenco