Webshot не ждет окончания подписки - PullRequest
0 голосов
/ 18 июня 2019

Я хочу сделать снимок экрана моей веб-страницы. Я сделал HTTP получить вызов для создания PDF, используя веб-снимок текущей веб-страницы.

Router.route('generateQuotePDF', {
       path: '/generateQuotePDF/:_id',
       where: 'server',
       action: function() {
            this.render('pdfDownloadPage');
            var webshot = Npm.require('webshot');
            var fs      = Npm.require('fs');
            var Future = Npm.require("fibers/future") ;
            var fut = new Future();
            var fileName = "Quotation.pdf";
            var url = Meteor.absoluteUrl("viewBulkQuotationOuter/"+this.params._id+"?subId="+this.params.query['subId']+"&pdfFlag=true")
            console.log(url)
            var options = {
               renderDelay:3000,
            };
            webshot(url, fileName, options, function(err,res) {
               fs.readFile(fileName, "base64", function (err,data) {
                   if (err) {
                       return console.log(err);
                   }
                   fs.unlinkSync(fileName);
                   fut.return(data);
               });
           });
           this.response.writeHead(200, {'Content-Type': 'application/pdf',"Content-Disposition": "attachment; filename="+fileName});
           this.response.end(fut.wait());
       }
   });

Я хочу сделать снимок экрана, когда все значения и данные на веб-странице загружены

...