Вы можете выполнить обход асинхронно с Promise()
шагом терминатора
var names = await g.V().Has("name", "Armin").Out().Values<string>("name").Promise(t => t.ToList());
Promise()
принимает обратный вызов в качестве аргумента, который вызывает обычный шаг терминатора, который вы хотите выполнить для вашего обхода, который ToList
в вашем случае. Однако если вы хотите вернуть только один результат, вы можете просто заменить ToList()
на Next()
.
Обратите внимание, что я переименовал переменную для источника обхода графа в g
, так как это обычное соглашение об именах для Gremlin.
Как я уже упоминал в своем комментарии, рекомендуется повторно использовать этот источник обхода графа g
в вашем приложении, поскольку он может содержать конфигурацию, которая применяется ко всем обходам, которые вы хотите выполнить. Он также содержит DriverRemoteConnection
, который использует пул соединений для связи с сервером. Повторно используя g
, вы также используете один и тот же пул соединений для всех обходов в вашем приложении.