Кстати, я не хотел создавать трассировку стека для каждой запрещенной ошибки, потому что я не хочу пропускать подробности о моем приложении. Поэтому я предпочитаю создать отказ только один раз.
м серверном приложении я хочу вернуть «запрещенное» значение, когда у пользователя нет разрешений для конечной точки.
С этой целью я создаю отклоненное обещание для повторного использования:
export const forbidden = Promise.reject(new Error('FORBIDDEN'))
а затем в другом месте в приложении:
import {forbidden} from './utils'
...
resolve: (root, {post}, {db, isCollab}) => {
if (!isCollab) return forbidden
return db.posts.set(post)
},
Однако, когда я запускаю свое приложение, я получаю предупреждение
(node:71620) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: FORBIDDEN
(node:71620) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Как я могу сказать Node, что с этим Обещанием можно справиться?