Я работаю над приложением в activjs, которое позволяет людям публиковать сообщения с хэштегами, упоминаниями и медиаЯ начинаю сохранять сообщение в БД, после большого количества элементов управления мне нужно удалить сообщение из БД, если произойдет какая-либо ошибка.Вот функции с обещаниями и блоком catch:
connectDb()
.then( () => { return savePost() } )
.then( () => { return postHashtagRoutine() } )
.then( () => { return iteratePostMedia() } )
.then( () => { return detectLanguage() } )
.then( () => { return updatePost() } )
.then( () => { console.log("pre conn release") } )
.then( () => { conn.release() } )
.then( () => { resolve( { success : "done" } )
.catch( (err) => {
connectDb()
.then( () => { console.log("create post error", err) } )
.then( () => { return removePost() } )
.then( reject(err) )
})
Теперь проблема в том, что когда я вызываю reject в postHashtagRoutine (), если какой-то хэштег содержит стоп-слова, блок catch не вызывается и консольlog и функция removePost () не выполняются.
Здесь часть кода, где я вызываю отклонение в postHashtagRoutine ()
Promise.all(promisesCheckStopwords)
.then( () => {
if ( stopwordsId.length > 0){
reject("stopwordsId in post");
}
})