Я подозреваю, что есть какая-то проблема с кодом, и, скорее всего, в той части catch, которая в целом приводит к сбою серверного приложения.
Цель : в основном проверка типа ошибки, которая может быть обработана, например, если сущность не существует, для всех остальных ошибок изящно отклонить их обратно вызывающей стороне без сбоя приложения.
const Article = require("Article");
function upload(row) {
return new Promise(function(resolve, reject){
Article.requestData(row.schema) // if exists
.then(Article.upload.bind(null, row.article)) //may throw error
.then(resolve) // done if OK
.catch(function(error){
if(error.code == "NotFoundException") { // entity doesn't exists
Article.create(row.schema) // create entity
.then(Article.upload.bind(null, row.article)) // upload
.then(resolve, reject); // reject upload error
} else { // upload errors
// reject(error); // tried reject
throw error; // trying re-throw
}
});
});
}
Код сначала пытается получить информацию о сущности, а если она не найдена, он создает ее.
Теперь часть загрузки может выдать ошибку, которую мне нужно изящно отправить обратно вызывающей стороне.
Я получаю ошибку UnhandledPromiseRejectionWarning