我最近参与了一个nodejs项目,当我尝试在我的数据库访问和我的路由之间使用promises时遇到错误在http:// localhost:8080 /上请求响应时发送它们后无法设置标题api /用户.虽然我知道堆栈上的许多解决方案都没有为我解决,所以这是我在router.js的路由代码
server.get('/api/user/', function (req, res) {
database.getUser()
.then(function(data){
res.send(data);
}, function(err){
res.send(500,{error: err});
});
});
Run Code Online (Sandbox Code Playgroud)
而database.js的第一部分包括函数getUser
(function() {
'use strict';
var Promise = require('bluebird'),
mysql = require("mysql"),
bcrypt = require('bcryptjs'),
client;
exports.connect = function(){
return new Promise(function(resolve, reject) {
client = mysql.createPool({
connectionLimit : 100,
waitForConnection: true,
host : 'localhost',
user : 'root',
password : 'root',
database : 'public',
debug : false
});
if(!client){
reject('Deu merda');
} …Run Code Online (Sandbox Code Playgroud)