node.js keystoneJS文件上载后的渲染视图

node.js keystoneJS文件上载后的渲染视图,node.js,express,keystonejs,Node.js,Express,Keystonejs,我使用的是keystone.js,它使用express.js和jade,以及pdf extract npm模块 我正在尝试设置一个上传表单,该表单提取PDF并在keystone.js的视图中呈现文本 在pdf extract processor complete事件上呈现视图时遇到问题。看起来我有递归。我有这个路线,upload.js exports = module.exports = function(req, res) { var view = new keystone.View(req

我使用的是keystone.js,它使用express.js和jade,以及pdf extract npm模块

我正在尝试设置一个上传表单,该表单提取PDF并在keystone.js的视图中呈现文本

在pdf extract processor complete事件上呈现视图时遇到问题。看起来我有递归。我有这个路线,upload.js

exports = module.exports = function(req, res) {

var view = new keystone.View(req, res),
    locals = res.locals;

// Set locals
locals.section = 'upload';
locals.formData = req.body || {};
locals.validationErrors = {};

view.on('post', { action: 'upload' }, function(next) {
       ...
       ...file upload code
       ...
       var processor = pdf_extract(absolute_path_to_pdf, options, function(err) {
         if (err) {
           res.end(util.inspect(err));
         } 
       });
       processor.on('complete', function(data) {
         view.render('upload', {jadeVar:data.text_pages});
         next();
       }); //on processor.complete
    });  //on view.post
view.render('upload');  //render on no post
这将从pdf提取中输出大约24个错误,这些错误是关于未以递归方式找到的上载文件

如果我这样做:

processor.on('complete', function(data) {
  res.end(util.inspect(data.text_pages));
});

我将提取的pdf文本直接发送到浏览器,无需“上载”视图。我正在尝试获取该输出并将其发送到“上载”视图。

我在完成事件时将处理器更改为使用res.render而不是view.render

processor.on('complete', function(data) {
     res.render('upload', {jadeVar:data.text_pages});
     next();
   }); //on processor.complete
我猜这是一个变量范围和视图未定义的问题

我通过查看keystone/lib/view.js发现了这一点