Skip to content

Commit 1c97865

Browse files
committed
Pulling data before and after the promise get solved
1 parent 4cdf0a5 commit 1c97865

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

packages/core/src/result.ts

+7-6
Original file line numberDiff line numberDiff line change
@@ -254,20 +254,21 @@ class Result implements Promise<QueryResult> {
254254

255255
const streaming = await this._subscribe(observer, true)
256256
const watermarks = streaming.getWatermaks()
257-
258-
if (streaming.isReady()) {
259-
streaming.pull()
257+
const pullIfNeeded = () => {
258+
if (observer.queueSize <= watermarks.high) {
259+
streaming.pull()
260+
}
260261
}
261262

263+
262264
while(true) {
265+
pullIfNeeded()
263266
const value = await observer.consume()
264267
if (value.done) {
265268
return value.summary!
266269
}
270+
pullIfNeeded()
267271
yield value.record!
268-
if (observer.queueSize <= watermarks.high) {
269-
streaming.pull()
270-
}
271272
}
272273
}
273274

0 commit comments

Comments
 (0)