#graphql #graphql-js
#graphql #graphql-js
Вопрос:
Я пытаюсь удалить некоторые узлы из ast graphql с помощью функции visit.
Как и сказано в документе, есть два события, к которым я могу подключиться
- введите
- оставить
Я не знаю, когда использовать enter, а когда использовать leave, в чем разница между ними? Как я могу определить, какой из них использовать?
Ответ №1:
Основное отличие заключается в том, что enter () позволяет пропустить поддерево, если оно вас не волнует.
На этой странице есть раздел https://graphql.org/graphql-js/language/#visitor это описывает возвращаемые значения, разрешенные enter() и leave() .
Другая причина использования leave () заключается в том, что если вы изменили поддерево, вы можете просмотреть измененное поддерево, поскольку оно было обработано.