Я в Parse, пытаюсь создать облачную функцию beforeSave для объекта "Профиль", который связан с Пользователем, моя цель - проверить, что нет профиля для этого пользователя или профиля с тем же именем пользователя,проблема заключается в том, что для проверки, существует ли он или нет, мне нужно выполнить запрос найти или получить, и выполнить ошибку с кодом 101 OBJECT_NOT_FOUND, и выполнить в этой ошибке другой запрос и снова не удалось разрешить создание «профиля»объект.Я не знаю, как этого добиться.
https://docs.parseplatform.org/js/guide/ это документация, и она не объясняет этот случай, когда требуется продолжить при наличии ошибки.
var beforeSaveProfile = (request) => {
var profile = request.object;
var user = request.user;
profile.id = user.id;
//check if profile not exist
const Profile = Parse.Object.extend("Profile");
const query = new Parse.Query(Profile);
query.get(user.id).then(() => {
throw "Profile exists";
}, (error) => {
if(error.code === 101){ // ObjectNotFound
//check if username not exists
const query = new Parse.Query(Profile);
query.equalTo('userName',profile.get('userName'));
return query.find();
}else{
throw "Error: "+error.message;
}
}).then(() => {
throw "Username unavailable";
}, (error) => {
if(error.code !== 101){ // ObjectNotFound
throw "Error: "+error.message;
}
});
}
Я ожидаю, что сохранение будет выполнено без ошибок, но оно вернет 101, хотя я хочу, чтобы это выдавало сообщения об ошибках, которые видны там, когда я отлаживаю ... "get (user.id)" работает правильно, принимаетОшибка 101 и запускает запрос для проверки имени пользователя, но после этого собирается выдать «Имя пользователя недоступно», когда оно должно перейти к ошибке 101, потому что он не существует