我遇到警告错误,请指导我解决。
警告:在匿名处理程序的处理程序中创建了一个承诺> (/opt/testproj/node_modules/pipeworks/pipeworks.js:72:17但未从中返回,请参阅http://bluebirdjs.com/docs/warning-explanations.html#warning-a-promise-was-created-in-a-handler-but-was-not-returned-from-it 在新的承诺(/opt/testproj/node_modules/bluebird/js/release/promise.js:77:14)
示例代码:
const bluebird = require('bluebird');
const options = {
promiseLib: bluebird
};
const pgpromise = require('pg-promise')(options);
const connectionString = `postgres://${user}:${password}@${host}:${port}/${database}`;
const db = pgpromise(connectionString);
db.func('student__find_by_id', [id])
.then((data) => {
return res.json(data);
}).catch((err) => {
log.error(err);
});
答案 0 :(得分:2)
根据我之前的评论,此处显示的代码无法抛出您描述的错误。在pg-promise测试中全面涵盖了类似这样的情况。
您应该使用Bluebird's Long Stack Tracing功能正确识别导致此错误的代码:
var Promise = require('bluebird');
Promise.config({
longStackTraces: true
});