Warning: a promise was created in a handler but was not returned from it, see http://goo.gl/rRqMUw
- [x] I understand that GitHub issues are not for tech support, but for questions specific to this generator, bug reports, and feature requests.
| Item | Version |
|---|---|
| generator-angular-fullstack | x.x.x |
| Node | 4.6.0 |
| npm | 4.0.2 |
| Operating System | Windows 10 |
| etc | etc |
| Item | Answer |
|---|---|
| Transpiler | Babel |
| Markup | Pug |
| CSS | SCSS |
| Router | ui-router |
| Client Tests | Mocha |
| DB | SQL |
| Auth | Y |
| etc | etc |
I just installed using yo angular-fullstack, when running the app I get an warning - any clue why?
Warning: a promise was created in a handler but was not returned from it, see http://goo.gl/rRqMUw at Function.Promise.bind (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\bluebird\js\release\bind.js:65:20) at processImmediate [as _immediateCallback] (timers.js:383:17) From previous event: at null.Model.findAll (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\sequelize\lib\model.js:1355:18) at index (C:/Users/saa/OneDrive/Work/EUFREX/Website/EUFREX1/server/api/thing/thing.controller.js:68:16) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:95:5) at next (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\route.js:131:13) at Route.dispatch (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:95:5) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:277:22 at Function.process_params (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:330:12) at next (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:271:10) at Function.handle (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:176:3) at router (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:46:12) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:95:5) at trim_prefix (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:312:13) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:280:7 at Function.process_params (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:330:12) at next (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:271:10) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:91:12) at trim_prefix (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:312:13) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:280:7 at Function.process_params (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:330:12) at next (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:271:10) at checkCsrf (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\lusca\lib\csrf.js:74:20) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\lusca\index.js:48:21 at hsts (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\lusca\lib\hsts.js:25:9) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\lusca\index.js:48:21 From previous event: at Promise.then (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\sequelize\lib\promise.js:21:17) at E4Store.get (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express-sequelize-session\lib\e4store.js:56:12) at session (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express-session\index.js:444:11) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:95:5) at trim_prefix (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:312:13) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:280:7 at Function.process_params (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:330:12) at next (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:271:10) at initialize (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\passport\lib\middleware\initialize.js:53:5) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:95:5) at trim_prefix (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:312:13) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:280:7 at Function.process_params (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:330:12) at next (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:271:10) at cookieParser (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\cookie-parser\index.js:70:5) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:95:5) at trim_prefix (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:312:13) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:280:7 at Function.process_params (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:330:12) at next (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:271:10) at methodOverride (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\method-override\index.js:65:14) at Layer.handle [as handle_request] (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\layer.js:95:5) at trim_prefix (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:312:13) at C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:280:7 at Function.process_params (C:\Users\saa\OneDrive\Work\EUFREX\Website\EUFREX1\node_modules\express\lib\router\index.js:330:12) GET /api/things 304 51.262 ms - - GET /assets/fonts/bootstrap/glyphicons-halflings-regular.woff 404 40.043 ms - 14 GET /assets/fonts/bootstrap/glyphicons-halflings-regular.ttf 404 11.941 ms - 14
See #2412 for the answer and correction. Also, I believe that #2363 is a duplicate of this issue.
I tried that, but I am still getting the warning. I can see that I get the same warning whenever returning a sequelize model.
thing.controller.js:68
return Thing.findAll()
.then(respondWithResult(res))
.catch(handleError(res));
thing.controller.js:87
return Thing.create(req.body)
.then(respondWithResult(res, 201))
.catch(handleError(res));
thing.controller.js:125
return Thing.find({
where: {
_id: req.params.id
}
})
.then(handleEntityNotFound(res))
.then(removeEntity(res))
.catch(handleError(res));
This is an issue with Sequelize, please report it to them
@Awk34, I agree that the issue is upstream but it seems to be in express-sequelize-session 0.4.0 rather than sequelize.
In E4Store.get (express-sequelize-session/lib/e4store.js), the then() handler has two paths that make a callback without returning the promise. See lines 58 and 60 of e4store.js.
E4Store.prototype.get = function(sid, callback) {
return this.Session.findOne({
where: {
sid: sid
},
attributes: ['data']
}).then(function(session) {
if (session != null) {
return typeof callback === "function" ? callback(null, JSON.parse(session.data)) : void 0;
} else {
return typeof callback === "function" ? callback(null, null) : void 0;
}
})["catch"](function(err) {
return typeof callback === "function" ? callback(err, null) : void 0;
});
};
Changing
if (session != null) {
return typeof callback === "function" ? callback(null, JSON.parse(session.data)) : void 0;
} else {
return typeof callback === "function" ? callback(null, null) : void 0;
}
to
if (session != null && typeof callback === "function") {
callback(null, JSON.parse(session.data));
} else {
callback(null, null);
}
return null;
fixes the warning.
I see Pull Request #3 from over a year ago was an attempt to address this but failed the checks.
Do you think this is the culprit other generator-angular-fullstack users are running into?
Here's the stack trace from my project:
(node:878) Warning: a promise was created in a handler at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13 but was not returned from it, see http://goo.gl/rRqMUw
at Function.Promise.attempt.Promise.try (/Users/nates/dev/shy/node_modules/bluebird/js/release/method.js:29:9)
at runCallback (timers.js:781:20)
at tryOnImmediate (timers.js:743:5)
at processImmediate [as _immediateCallback] (timers.js:714:5)
From previous event:
at Function.findAll (/Users/nates/dev/shy/node_modules/sequelize/lib/model.js:1495:23)
at index (/Users/nates/dev/shy/server/api/announcement/announcement.controller.js:19:23)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/nates/dev/shy/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
at Function.handle (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:174:3)
at router (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:47:12)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:91:12)
at trim_prefix (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
at checkCsrf (/Users/nates/dev/shy/node_modules/lusca/lib/csrf.js:95:20)
at /Users/nates/dev/shy/node_modules/lusca/index.js:59:28
at hsts (/Users/nates/dev/shy/node_modules/lusca/lib/hsts.js:25:9)
at /Users/nates/dev/shy/node_modules/lusca/index.js:59:28
at xframe (/Users/nates/dev/shy/node_modules/lusca/lib/xframes.js:12:9)
at /Users/nates/dev/shy/node_modules/lusca/index.js:59:28
at xssProtection (/Users/nates/dev/shy/node_modules/lusca/lib/xssprotection.js:16:9)
at /Users/nates/dev/shy/node_modules/lusca/index.js:59:28
at lusca (/Users/nates/dev/shy/node_modules/lusca/index.js:64:9)
From previous event:
at E4Store.get (/Users/nates/dev/shy/node_modules/express-sequelize-session/lib/e4store.js:56:12)
at session (/Users/nates/dev/shy/node_modules/express-session/index.js:460:11)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
at initialize (/Users/nates/dev/shy/node_modules/passport/lib/middleware/initialize.js:53:5)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
at cookieParser (/Users/nates/dev/shy/node_modules/cookie-parser/index.js:70:5)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
at methodOverride (/Users/nates/dev/shy/node_modules/method-override/index.js:65:14)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
at jsonParser (/Users/nates/dev/shy/node_modules/body-parser/lib/types/json.js:103:7)
at Layer.handle [as handle_request] (/Users/nates/dev/shy/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:317:13)
at /Users/nates/dev/shy/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:335:12)
at next (/Users/nates/dev/shy/node_modules/express/lib/router/index.js:275:10)
I should also note that express-sequelize-session has not been actively maintained for 2 years and is not recommended as a compatible store in the read me for express-session. I decided to switch to connect-session-sequelize and it got rid of the warning. Perhaps generator-angular-fullstack should consider replacing express-sequelize-session?
@nstuyvesant yeah, it should be a fairly straightforward PR if you've got the time
No problem... just added PR 2623.