Имеется следующий метод во Vue:
submitComment(event) {
if (event) {
event.preventDefault();
}
// Включаем прелоадер
this.sendingComment = true;
if (!this.stateForumCommentLoader) {
// Данные на отправку
const data = {
text: this.commentText,
parent_id: this.parentComment ? this.parentComment : null,
file_id: this.fileId,
};
axios.post(this.$store.getters.postTopicCommentAPI(this.forumId), data)
.then(res => {
const commentData = res.data.data;
// Добавляем набор реактивных данных для нового комментария
this.$set(commentData, 'showFeedback', false);
this.$set(commentData, 'isEdit', false);
this.$set(commentData, 'showText', true);
this.$emit('pushAnswer', commentData);
this.$emit('watch-all');
this.commentText = '';
setTimeout(() => {
$('html,body').animate({ scrollTop: $(`#comment-${commentData.id}`).offset().top }, 1000);
this.$emit('closeAnswerFeedback');
}, 500);
})
.finally(() => {
this.sendingComment = false;
localStorage.removeItem('notFinishedComment');
});
} else {
setTimeout( this.submitComment(), 1500);
}
},
В самом конце я явно указал, что ждать перед запуском 1500 мс, но в итоге это просто игнорируется и выполняется все моментально не дожидаясь пока эти самые секунды пройдут. Почему так происходит?