diff --git a/packages/vue-apollo-composable/src/useQuery.ts b/packages/vue-apollo-composable/src/useQuery.ts index 25ceccd..213e744 100644 --- a/packages/vue-apollo-composable/src/useQuery.ts +++ b/packages/vue-apollo-composable/src/useQuery.ts @@ -189,6 +189,7 @@ export function useQueryImpl< firstReject = undefined firstResolveTriggered = false firstRejectError = undefined + stop() } vm && onServerPrefetch?.(() => { @@ -196,12 +197,12 @@ export function useQueryImpl< return new Promise((resolve, reject) => { firstResolve = () => { - resolve() resetFirstResolveReject() + resolve() } firstReject = (apolloError: ApolloError) => { - reject(apolloError) resetFirstResolveReject() + reject(apolloError) } if (firstResolveTriggered) { @@ -283,10 +284,7 @@ export function useQueryImpl< processError(resultErrorsToApolloError(queryResult.errors)) } - if (firstResolve) { - tryFirstResolve() - stop() - } + tryFirstResolve() } function processNextResult (queryResult: ApolloQueryResult) { @@ -306,10 +304,7 @@ export function useQueryImpl< processNextResult((query.value as ObservableQuery).getCurrentResult()) } processError(apolloError) - if (firstReject) { - tryFirstReject(apolloError) - stop() - } + tryFirstReject(apolloError) // The observable closes the sub if an error occurs resubscribeToQuery() } diff --git a/packages/vue-apollo-composable/yarn.lock b/packages/vue-apollo-composable/yarn.lock new file mode 100644 index 0000000..e69de29