Я использую библиотеку Parse Baas. У меня есть определенные функции, которые вызывают различные функции кода Parse Cloud. В настоящее время у меня есть базовое понимание обещаний javascript. Одна вещь, с которой я борюсь, - это как обрабатывать следующиеВозвращаемое обещание от функции
У меня есть пользовательская функция, которую я могу вызывать из других модулей.
function CustomFunction()
{
var GameScore = Parse.Object.extend("GameScore");
var gameScore = new GameScore();
gameScore.set("score", 1337);
gamesScore.save().then(
function(object) {
// the object was saved.
// What do I return from here??
},
function(error) {
// saving the object failed.
// What do I return from here??
});
}
Есть некоторые случаи, когда я, возможно, хочу потерпеть неудачу в gamesScore.save(). Затем (функция (объект) {}, так что я не хочу делать только вернуть gamescore.save(). Теперь, когда я называю пользовательскую функцию это действительно необходимо вернуть обещание как код, содержащееся в нем есть «асинхронное». Так что я вернулся из внутри пользовательской функции.
CustomFunction().then(
function(result) {
},
function(error) {
});
Спасибо, но у меня есть некоторые случаи, когда я хотел бы потерпеть неудачу в gamesScore.save(). then (}, поэтому я не хочу делать это return gamesScore.save(); – tech74
Это вещь с возвратом обещания от 'CustomFunction'. Либо вы возвращаете обещание, либо выполняете обещание (разрешить/отклонить) и вернуть значение. Вы не можете иметь оба сценария в игре. Если вы хотите вернуть обещание, обработайте ошибку в вызывающем. Если вы хотите обработать ошибку в 'CustomFunction', быть b чтобы справиться с обещанием только там. – Achrome
Спасибо, так как я могу выполнить обещание внутри CustomFunction – tech74