В качестве пояснения к вашему вопросу: запросы не синхронные, а последовательные.
В отличие от запросов, которые спецификация GraphQL оставляет открытыми для «разрешения распараллеливания», мутации ДОЛЖНЫ выполняться в серия.
(Ссылки на Запрос и Мутация spe c
6.2.1 Запрос
...
Пусть данные будут результатом выполнения ExecuteSelectionSet (selectionSet, queryType, initialValue, variableValues) в обычном режиме (с возможностью распараллеливания).
6.2.2 Мутация
...
Пусть данные будут результатом последовательного выполнения ExecuteSelectionSet (selectionSet, mutationType, initialValue, variableValues).
Широко распространенный шаблон состоит в том, что ваша мутация должна «вернуться, когда она будет выполнена. , и подождите, пока не появятся эти данные ". Теоретически, однако, вы можете заставить свою мутацию запустить какое-то событие и просто ответить, сказав, что оно произошло. Затем вы можете использовать Подписку , чтобы определить, когда ответ был готов. Опять же, это не совсем «способ, которым обычно используют GraphQL», но теоретически вы могли бы.