vue-pdf icon indicating copy to clipboard operation
vue-pdf copied to clipboard

TypeError: Cannot read properties of undefined (reading 'catch')

Open syamsoul opened this issue 3 years ago • 6 comments

vue file

<template>
    <div id="page_product_file_view" class="general-pages-1">
        <template v-for="i in numPages">
            <pdf
    			:key="i"
    			:src="pdf_src"
    			:page="i"
    			style="display: inline-block; width: 100%"
    		></pdf>
            <hr>
        </template>
    </div>
</template>
<script>
import pdf from 'vue-pdf'


export default {
    components:{
        pdf
    },
    data: () => ({
        pdf_src: null,
        numPages: undefined,
    }),
    mounted() {
        this.pdf_src = pdf.createLoadingTask(`${MAIN_URL}/file/view/${this.$route.params.hfilname}`);
        this.pdf_src.promise.then(pdf => {
			this.numPages = pdf.numPages;
		});
    },
    methods: {

    },
}
</script>

. .

pdf file successfully displayed image

. .

but it produces lot of errors in console

TypeError: Cannot read properties of undefined (reading 'catch')
    at PDFJSWrapper.renderPage (app.js?id=b89a6ec318209e4c9370:1:670908)
    at o.resize (app.js?id=b89a6ec318209e4c9370:1:661909)
    at Ht (app.js?id=b89a6ec318209e4c9370:1:402599)
    at o.n (app.js?id=b89a6ec318209e4c9370:1:404333)
    at Ht (app.js?id=b89a6ec318209e4c9370:1:402599)
    at o.t.$emit (app.js?id=b89a6ec318209e4c9370:1:424764)
    at o.handler (app.js?id=b89a6ec318209e4c9370:1:659744)
    at pn.INkZ.pn.run (app.js?id=b89a6ec318209e4c9370:1:418869)
    at fn (app.js?id=b89a6ec318209e4c9370:1:416881)
    at Array.<anonymous> (app.js?id=b89a6ec318209e4c9370:1:403637)

syamsoul avatar Apr 25 '22 04:04 syamsoul

cancel() is not returning a promise.

this.renderPage = function(rotate) {
			if ( pdfRender !== null ) {

				if ( canceling )
					return;
				canceling = true;
				pdfRender.cancel().catch(function(err) {
					emitEvent('error', err);
				});
				return;
			}

Flamenco avatar Apr 25 '22 20:04 Flamenco

Sorry for comments from my rebase commit... 🙏

devheedoo avatar May 18 '22 09:05 devheedoo

  • https://github.com/FranckFreiburger/vue-pdf/pull/377

luisrossi avatar Jul 21 '22 12:07 luisrossi

use optional chaining there . Like await RecruiterDbModel.findOneAndUpdate( { _id: _id, }, { $set: recruiterUpdateObject, }, ) .then(recruiter => { recruiterObject = recruiter; }) ?.catch(err => { Logger.error(err); });

SHIVAM-lab avatar Jan 11 '23 14:01 SHIVAM-lab

use optional chaining there . Like await RecruiterDbModel.findOneAndUpdate( { _id: _id, }, { $set: recruiterUpdateObject, }, ) .then(recruiter => { recruiterObject = recruiter; }) ?.catch(err => { Logger.error(err); });

worked for me , thanks for the answer

Shivamlab avatar Jan 11 '23 14:01 Shivamlab

As this project seems to be abandoned, I created a fork which corrects this bug. The package can be found here:

https://www.npmjs.com/package/@teckel/vue-pdf

teckel12 avatar Apr 07 '23 22:04 teckel12