Когда использовать ввод/выход с функцией `visit` в `graphql`

Я пытаюсь удалить некоторые узлы из списка graphql, используя функцию visit. .

Как говорится в документе, есть два события, к которым я могу подключиться.

  • войти
  • покинуть

Я не знаю, когда использовать ввод, а когда отпуск, какая между ними разница? Как я могу сказать, какой из них использовать?


person yaquawa    schedule 06.12.2020    source источник


Ответы (1)


Основное отличие состоит в том, что enter() позволяет пропустить поддерево, если оно вам не нужно.

На этой странице есть раздел https://graphql.org/graphql-js/language/#visitor, описывающий возвращаемые значения, разрешенные функциями enter() и leave().

Другая причина использования функции leave() заключается в том, что если вы изменили поддерево, вы можете просмотреть измененное поддерево после того, как оно было обработано.

person Francis Upton IV    schedule 09.12.2020