file upload后,node.js keystoneJS渲染视图

我正在使用keystone.js,它使用express.js和jade,以及pdf-extract npm模块。

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

我无法在PDF提取处理器完成事件上呈现视图。 它看起来像我有recursion。 我有这个路由,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文件中提取大约二十个关于上传文件的错误,这些错误不是以recursion的方式发现的。

如果我这样做:

 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 

我想这是一个variables的范围和视图没有定义的问题?

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