Lors de l'ajout d'une adresse e-mail à une liste, je souhaite enregistrer une fonction beforeSave dans mon code cloud si l'adresse appartient à un utilisateur existant. Si ce n'est pas le cas, je voudrais arrêter l'appel de sauvegarde et renvoyer une réponse d'erreur à mon application mobile.Parse Cloud Code beforeSave timeout
Lorsque j'exécute le code ci-dessous, je n'ai aucun problème lors de la saisie d'une adresse e-mail valide. Dès que j'entre une adresse invalide, la fonction beforeSave entre dans un tizzy et expire après un certain temps, renvoyant une charge d'ordures au client.
Parse.Cloud.beforeSave("EventUsers", function(request, response) {
var email = request.object.get("email");
console.log("starting beforeSave for user: " + email);
Parse.Cloud.useMasterKey();
var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo("email", email);
userQuery.first().then(function(user) {
console.log("user: " + user.get("email"));
if (user) {
console.log("User exists");
response.success();
}
console.error("No user with that email");
response.error("199");
}, function(error) {
console.error(error);
response.error("198");
});
});
Quand je lance ce avec une adresse e-mail valide, je ne reçois que les premiers appels CONSOLE.LOG signalés à ma console - aucun des autres sont visibles. J'utilise mon serveur d'analyse sur Heroku.