Javascript PDF.js文档随机颠倒显示

Javascript PDF.js文档随机颠倒显示,javascript,pdf,polymer,pdf.js,Javascript,Pdf,Polymer,Pdf.js,我正在使用PDF.js插件在我的polymerjs应用程序中显示PDF。pdf内容有时呈现为上下颠倒。下面是我如何使用PDF.js的: downloadPdf: function(item) { var pdfJsInitParams = { url: app.baseURL + item.report_pdf, httpHeaders: app.user.to

我正在使用PDF.js插件在我的polymerjs应用程序中显示PDF。pdf内容有时呈现为上下颠倒。下面是我如何使用PDF.js的:

            downloadPdf: function(item) {
                var pdfJsInitParams = {
                    url: app.baseURL + item.report_pdf,
                    httpHeaders: app.user.token
                };

                PDFJS.getDocument(pdfJsInitParams).promise.then(function(pdf) {
                    function renderPage(pageNumber, eltId) {
                        if(pdf.numPages < pageNumber) {
                            return;
                        }

                        pdf.getPage(pageNumber).then(function(page) {
                            var scale = 1.3;
                            var viewport = page.getViewport(scale);

                            // Prepare canvas using PDF page dimensions
                            var canvas = document.getElementById(eltId);
                            if(canvas) {
                                var context = canvas.getContext('2d');
                                canvas.height = viewport.height;
                                canvas.width = viewport.width;

                                // Render PDF page into canvas context
                                var renderContext = {
                                    canvasContext: context,
                                    viewport: viewport
                                };
                                page.render(renderContext);
                            }
                        }).catch(function(err) {
                            showToastWithText(err, 'error');
                        });
                    }

                    renderPage(1, 'report_1');
                    renderPage(2, 'report_2');
                });
            }
下载PDF:函数(项){
var pdfJsInitParams={
url:app.baseURL+item.report\u pdf,
httpHeaders:app.user.token
};
getDocument(pdfJsInitParams).promise.then(函数(pdf){
函数呈现页面(页码,eltId){
如果(pdf.numPages<页码){
返回;
}
getPage(页码)。然后(函数(第页){
var标度=1.3;
var viewport=page.getViewport(比例);
//使用PDF页面维度准备画布
var canvas=document.getElementById(eltId);
如果(画布){
var context=canvas.getContext('2d');
canvas.height=viewport.height;
canvas.width=viewport.width;
//将PDF页面呈现到画布上下文中
var renderContext={
背景:背景,
视口:视口
};
page.render(renderContext);
}
}).catch(函数(err){
showToastWithText(err,'error');
});
}
渲染页面(1,“报告1”);
渲染页面(2,“报告2”);
});
}
你知道是什么导致了这个问题吗?

(看起来downloadPdf在短时间内被多次调用)

render()操作是异步的,在同一画布上开始新的渲染之前,需要等待其完成,请参见示例。如果不想等待,请创建一个新画布