Нарушение правила eslint promise/no-nesting
произойдет для следующего примера:
return foo()
.catch(handleErrorAndReject('foo'))
.then(() => bar().catch(handleErrorAndReject('bar')))
.then(() => baz().catch(handleErrorAndReject('baz')))
Обратите внимание, что handleErrorAndReject - это функция с каррированием, подобная этой:
const handleErrorAndReject = action => error => {
console.warn(`${action} fails with error`, error)
res.status(400).send(error.message).end()
return Promise.reject(error)
}
Но вложенные уловки кажутсянеобходимо в этом случае, потому что они варьируются в зависимости от стадии.Это тот случай, когда мне нужно просто eslint-disable
, или есть лучший способ структурировать этот код?