Для выполнения запросов и мутаций graphql у меня были успехи как с fetch, так и с svelte-apollo (см. https://github.com/timhall/svelte-аполло)
Мне нравится подход fech за его простоту.
Svelte-apollo поддерживает подписку, и я постараюсь заставить ее работать.
Но есть ли альтернативы?
Как вы используете подписки на graphql с помощью svelte?


Вот мое решение с использованием Apollo:
import { ApolloClient } from 'apollo-client';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { HttpLink } from 'apollo-link-http';
import { WebSocketLink } from 'apollo-link-ws';
import { split } from 'apollo-link';
import { getMainDefinition } from 'apollo-utilities';
const httpLink = new HttpLink({
uri: 'http://localhost:3000/graphql'
});
const wsLink = new WebSocketLink({
uri: `ws://localhost:3000/subscriptions`,
options: {
reconnect: true
}
});
const link = split(
// split based on operation type
({ query }) => {
const definition = getMainDefinition(query);
return (
definition.kind === 'OperationDefinition' &&
definition.operation === 'subscription'
);
},
wsLink,
httpLink,
);
const client = new ApolloClient({
link,
cache: new InMemoryCache()
});
После всего этого у вас настроен клиент. Следующий,
import gql from 'graphql-tag';
client.subscribe({
query: gql`subscription { whatever }`
}).subscribe(result => console.info(result.data);
Хорошо, что вы можете сделать это даже без сапера. Прошел почти год с тех пор, как вы опубликовали это решение. Вы бы написали такое же решение сегодня?
Я использую тонкие привязки urql. В документации также показано, как использовать привязки с Подписки.
пример на сайте не работает. у вас есть рабочий пример?
Я также ищу такое же предложение. Какие-нибудь Новости?