Я не уверен, что делаю это правильно.У меня есть ряд ответов, основанных на определенных переменных набора.Я хочу выполнить обещание, чтобы после их завершения приложение запускало следующую строку кода.вот мой код:
const promises = []
if (this.score >= this.scoreNeeded) {
this.correct = true
this.retrieveCode(this.clueorder)
this.feedback = 'Congrats you are moving on. Here is your next code '
} else {
console.log('1')
if (locimgface && !this.smile) {
this.feedback += 'You need to smile in your picture. '
}
if (locimgfacesurprise && !this.surprise) {
this.feedback += 'You need to look very surprised in your picture. '
}
if (locimgfacesorrow && !this.sorrow) {
this.feedback += 'You need to look really sad in your picture. '
}
if (locationimagetexton && !this.atLocation) {
this.feedback += 'We could not find the text in the image. It needs to have one of these words "' + locationimagetextwithspaces + '" somewhere in the picture. '
}
if (locationimagelabelon && !this.foundItem) {
this.feedback += 'We could not find the item in the image. It needs to have one of these items "' + locationimagelabelswithspaces + '" somewhere in the picture. '
}
promises.push(this.feedback)
Promise.all(promises).then(() => {
console.log('completed from promise');
this.deleteImage(this.fullPath)
}).catch(err => {
console.log(`ERROR: ${JSON.stringify(err)}`);
})
}
Что я пытаюсь сделать, это убедиться, что все сообщения обратной связи установлены правильно, а затем запустить функцию deleteImage, кроме того, в блоке кода для хорошего результата я быхотел бы дождаться ответа от retrieveCode, прежде чем публиковать отзыв.
Как всегда, любая помощь очень ценится.
ОБНОВЛЕНИЕ:
Возможно, я делаю это неправильно, ноЕсть несколько триггеров.
Если в коде отсутствует один или несколько кодов, необходимо сообщить пользователю о том, что отсутствует, т. Е. Если программа ищет улыбку, а текст и картинка передаются вместе с текстом, но улыбки нет,Пользователь должен получить сообщение, сообщающее ему, что ему нужно улыбаться на картинке.
Если программа ищет удивленный вид, текст и ярлык, а пользователь отправляет снимок с удивленным выражением и текстом, он получит сообщение с сообщением, сообщающее, что ему нужно включить ярлык,
Если программа ищет улыбку, текст и метку («машина»), и пользователь отправляет изображение, не содержащее ни одного из них, он получит сообщение с сообщением о том, что ему нужно улыбнуться, ему необходимо предоставитьотсутствующий текст, и им нужно иметь машину на картинке.
Для каждого отсутствующего элемента пользователю предоставляется специальная обратная связь, чтобы помочь им в этом.
Конечная цель - создать сообщение обратной связи.затем запустите следующую функцию.либо deleteImage (), либо retrieveCode () в зависимости от оценки пользователя
UPDATE 2
здесь есть функция deleteImage
deleteImage (fullPath) {
console.log('2')
let storage = firebase.storage();
let storageRef = storage.ref();
// Create a reference to the file we want to delete
let imageRef = storageRef.child(fullPath);
imageRef.delete().then(() => {
console.log('3')
this.reset()
})
.catch((error) => {
console.error(`file delete error occurred: ${error}`)
})
},
UPDATE 3:
Вот функция retrieveCode ().
retrieveCode(clueorder) {
// get the next clue by adding 1 to this clue
const newclue = this.getNextClue(clueorder)
this.$store.dispatch('retrieveCode', {
newclue: newclue,
oldclue: clueorder
});
}