Вызов hasRights(req, ['driver', 'requestant'])
может вернуть отклоненное обещание, но у вас нет кода, чтобы когда-либо справиться с этим.Таким образом, это необоснованный отказ.
Когда бросок встроен, он перехватывается функцией async
requsitions()
, которая затем возвращает отклоненное обещание, поэтому вызывающий requisitions()
может его поймать.
Выможно убедиться, что отклоненное обещание, возвращенное из hasRights()
, обрабатывается таким же образом, добавив await
перед вызовом hasRights()
следующим образом:
Query: {
requisitions: async (parent, args, { req }, info) => {
await hasRights(req, ['driver', 'requestant'])
return true
}
}
Это позволит async
requisitions()
функция для автоматического определения отклонения от hasRights()
точно так же, как это было в исходном встроенном throw
.
Вам, конечно же, нужно убедиться, что вы правильно обрабатываете отклоненные обещания при вызове requisitions()
.
Мне также кажется, что вы должны знать, что выполнение throw
внутри функции async
будет автоматически перехвачено функцией async
и преобразовано в отклонение обещания.это возвращается функцией async
.Это функция async
функций.