Я обнаружил ошибку при вызове распознавателя в подписке, но ответ возвращается до завершения распознавателя. Как показано ниже, поле create_by обычно разрешается функцией getUser
, и у меня нет ошибок для других операций, не связанных с подписками. Клиенты получают нулевое значение для поля created_by
.
Схема
Place {
...other fields
created_by: User
}
Подписка
Subscription: {
addedPlace: {
resolve: (payload, args, context, info) => {
console.log('subscription --> resolve a', payload, '\n created_by: ',payload.addedPlace.place.created_by);
// created_by is a valid id string here
return payload.addedPlace;
},
subscribe: withFilter(
() => pubsub.asyncIterator('addedPlace'),
({ addedPlace }, variables) => {
return addedPlace.tripId == variables.tripId;
},
)
}
}
Place {
created_by: async ({ created_by }, args, { userLoader }) => { return await getUser(created_by, null, userLoader); },
}