diff --git a/src/apollo-provider.js b/src/apollo-provider.js index d35adbf..b06d0d5 100644 --- a/src/apollo-provider.js +++ b/src/apollo-provider.js @@ -8,8 +8,12 @@ export class ApolloProvider { this._collecting = false } - collect () { + collect (options) { + const finalOptions = Object.assign({}, { + waitForLoaded: true, + }, options) this._promises = [] + this._collectingOptions = finalOptions this._isCollecting = true return () => this._ensureReady() } diff --git a/src/dollar-apollo.js b/src/dollar-apollo.js index f82190a..6816059 100644 --- a/src/dollar-apollo.js +++ b/src/dollar-apollo.js @@ -21,7 +21,9 @@ export class DollarApollo { this.provider._waitFor(new Promise((resolve, reject) => { sub = query.subscribe({ next: result => { - resolve(result) + if (!this.provider._collectingOptions.waitForLoaded || !result.loading) { + resolve(result) + } }, error: error => { reject(error)