diff --git a/src/display/api.js b/src/display/api.js index 8a556c40a..784995825 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1234,13 +1234,10 @@ class PDFPageProxy { // Avoid errors below, since the renderTasks are just stubs. return; } - intentState.renderTasks.forEach(function (renderTask) { - const renderCompleted = renderTask.capability.promise.catch( - function () {} - ); // ignoring failures - waitOn.push(renderCompleted); - renderTask.cancel(); - }); + for (const internalRenderTask of intentState.renderTasks) { + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } }); this.objs.clear(); this.annotationsPromise = null; @@ -2650,6 +2647,13 @@ const InternalRenderTask = (function InternalRenderTaskClosure() { this._canvas = params.canvasContext.canvas; } + get completed() { + return this.capability.promise.catch(function () { + // Ignoring errors, since we only want to know when rendering is + // no longer pending. + }); + } + initializeGraphics(transparency = false) { if (this.cancelled) { return;