ericf / express-handlebars

A Handlebars view engine for Express which doesn't suck.
BSD 3-Clause "New" or "Revised" License
2.32k stars 382 forks source link

Promise Error (memory leak) #172

Open nightwolfz opened 8 years ago

nightwolfz commented 8 years ago

You will see the following error when using bluebird promises (because native ones swallow it).

Warning: a promise was created in a handler but was not returned from it
    at ExpressHandlebars._getFile (node_modules/express-handlebars/lib/express-handlebars.js:347:30)
    at ExpressHandlebars.getTemplate (node_modules/express-handlebars/lib/express-handlebars.js:118:39)
    at ExpressHandlebars.render (node_modules/express-handlebars/lib/express-handlebars.js:157:25)
    at ExpressHandlebars.renderView (node_modules/express-handlebars/lib/express-handlebars.js:253:20)
    at View.render (node_modules/express/lib/view.js:126:8)
    at tryRender (node_modules/express/lib/application.js:639:10)
    at EventEmitter.render (node_modules/express/lib/application.js:591:3)
    at ServerResponse.render (node_modules/express/lib/response.js:961:7)
    at mainController.js:39:40
    at processImmediate [as _immediateCallback] (timers.js:383:17)

I tried to make a fix but I cannot do it without rewriting a big portion of the code.

How to reproduce: insert

global.Promise = require('bluebird');

in your code and call res.render('sometemplate')