Size: a a a

GraphQL — русскоговорящее сообщество

2020 April 01

Д

Дмитрий in GraphQL — русскоговорящее сообщество
Всем привет.
Кто-то может подсказать проект(репозиторий), в котором можно набраться хороших практик работы с graphql и apollo-server в частности. Есть проект, написанный на php со своими болячками. Есть желание написать все это на nodejs (apollo-server) для себя, чтобы понять graphql  и ноду, но нет понимания как лучше работать с бд, где ресолвер свой описать, а где join сделать, ну и т.д. Дока с оф сайта почти дочитана, но понимания, в голове, пока что нет. Буду рад ссылкам на проекты, в которых можно покопаться, и понять, как лучше делать, а как лучше не делать.
источник

U

Uxname in GraphQL — русскоговорящее сообщество
Дмитрий
Всем привет.
Кто-то может подсказать проект(репозиторий), в котором можно набраться хороших практик работы с graphql и apollo-server в частности. Есть проект, написанный на php со своими болячками. Есть желание написать все это на nodejs (apollo-server) для себя, чтобы понять graphql  и ноду, но нет понимания как лучше работать с бд, где ресолвер свой описать, а где join сделать, ну и т.д. Дока с оф сайта почти дочитана, но понимания, в голове, пока что нет. Буду рад ссылкам на проекты, в которых можно покопаться, и понять, как лучше делать, а как лучше не делать.
источник

Д

Дмитрий in GraphQL — русскоговорящее сообщество
Спасибо, посмотрю.. Если кто-то еще поделится, буду рад.
источник
2020 April 02

АТ

Алексей Трофимов in GraphQL — русскоговорящее сообщество
источник

АТ

Алексей Трофимов in GraphQL — русскоговорящее сообщество
и лучше смотрите проекты на TypeScript
источник

Д

Дмитрий in GraphQL — русскоговорящее сообщество
Спасибо
источник

D

Denis in GraphQL — русскоговорящее сообщество
гайз, а есть какая-то возможность реализовать что-то вроде неймспесов для разделения запросов?
источник

M

Max in GraphQL — русскоговорящее сообщество
Всем доброго карантина)
Вопрос по apollo-client:
Подскажите, мутации в аполло асинхронные? ведь они промис возвращают
На ресурсе https://www.digitalocean.com/community/tutorials/how-to-build-a-file-handling-app-in-graphql-and-vue
нашел гайд по загрузке файлов и там вот такой пример кода:
methods: {
 async uploadPhoto({ target }) {
   await this.$apollo.mutate({
     mutation: UPLOAD_PHOTO,
     variables: {
       photo: target.files[0]
     },
     update: (store, { data: { uploadPhoto } }) => {
       const data = store.readQuery({ query: ALL_PHOTOS });

       data.allPhotos.push(uploadPhoto);

       store.writeQuery({ query: ALL_PHOTOS, data });
     }
   });
 }
}

В чем смысл async/await здесь?
источник

is

il.ya sald.in in GraphQL — русскоговорящее сообщество
Max
Всем доброго карантина)
Вопрос по apollo-client:
Подскажите, мутации в аполло асинхронные? ведь они промис возвращают
На ресурсе https://www.digitalocean.com/community/tutorials/how-to-build-a-file-handling-app-in-graphql-and-vue
нашел гайд по загрузке файлов и там вот такой пример кода:
methods: {
 async uploadPhoto({ target }) {
   await this.$apollo.mutate({
     mutation: UPLOAD_PHOTO,
     variables: {
       photo: target.files[0]
     },
     update: (store, { data: { uploadPhoto } }) => {
       const data = store.readQuery({ query: ALL_PHOTOS });

       data.allPhotos.push(uploadPhoto);

       store.writeQuery({ query: ALL_PHOTOS, data });
     }
   });
 }
}

В чем смысл async/await здесь?
эммм, а что тут тебя смущает?
источник

M

Max in GraphQL — русскоговорящее сообщество
il.ya sald.in
эммм, а что тут тебя смущает?
ну если мутация аполо асинхронная, то смысл её оборачивать в async/await без какого либо дальнейшего присваивания результатов промиса?
или если убрать async/await это всё же будет блокирующий таск в стеке вызовов?
источник

is

il.ya sald.in in GraphQL — русскоговорящее сообщество
ну если тебе дальше нигде не надо ждать пока мутация выполнится, можешь не оборачивать
источник

M

Max in GraphQL — русскоговорящее сообщество
il.ya sald.in
ну если тебе дальше нигде не надо ждать пока мутация выполнится, можешь не оборачивать
ну вот я и хотел этот момент уточнить)
по этому примеру не сильно понятно зачем там async/await, если работа с результатом запроса идёт в колбэке update
источник

is

il.ya sald.in in GraphQL — русскоговорящее сообщество
await, по-сути, ждет пока промис зарезолвится с результатом
источник

is

il.ya sald.in in GraphQL — русскоговорящее сообщество
если упростить, ты просто в этом месте ждешь выполнение мутации
источник

M

Max in GraphQL — русскоговорящее сообщество
il.ya sald.in
если упростить, ты просто в этом месте ждешь выполнение мутации
да-да, я понимаю
только б тогда не надо юзать колбэк update, а результат присваивать где-то ниже после мутации
источник

is

il.ya sald.in in GraphQL — русскоговорящее сообщество
так update, емнип, это колбэк, который стор обновляет
источник

M

Max in GraphQL — русскоговорящее сообщество
```
methods: {
 async uploadPhoto({ target }) {
   const result = await this.$apollo.mutate({
     mutation: UPLOAD_PHOTO,
     variables: {
       photo: target.files[0]
     }
   });
   this.result = result;
   // остальная логика присваиваиний на основе результата запроса
 }
}

```
источник

M

Max in GraphQL — русскоговорящее сообщество
вот что имел ввиду)
источник

is

il.ya sald.in in GraphQL — русскоговорящее сообщество
я понял, но update это метод, который мутирует твой локальный стор
источник

is

il.ya sald.in in GraphQL — русскоговорящее сообщество
а не возвращает тебе результат выполнения мутации
источник