2016-05-22 15 views
2

私のアプリケーションでこの奇妙なエラーが発生しました。 package.jsonにあるように、expressのバージョンは>4.xです。ここで未処理の拒否TypeError:res.sendStatusが関数ではありません

{ 
    "name": "MyAPI", 
    "version": "1.0.0", 
    "private": true, 
    "scripts": { 
    "start": "node ./bin/www" 
    }, 
    "dependencies": { 
    "bcrypt": "^0.8.6", 
    "body-parser": "~1.13.2", 
    "cookie-parser": "~1.3.5", 
    "debug": "~2.2.0", 
    "express": "~4.13.1", 
    "jade": "~1.11.0", 
    "morgan": "~1.6.1", 
    "pg": "^4.5.5", 
    "pg-hstore": "^2.3.2", 
    "sequelize": "^3.23.2", 
    "sequelize-cli": "^2.4.0", 
    "serve-favicon": "~2.3.0", 
    "validator": "^5.2.0" 
    } 
} 

は、ソースコード

'use strict'; 
var express = require('express'); 
var router = express.Router(); 
var version = require('../package.json').version; 
var sequelize = require('sequelize'); 

var userAccounts = require('../models').user_account; 

router.post('/v' + version + '/register', function (res, req, next) { 
    userAccounts.create(req.body).then(function() { 
     next(); 
     return res.sendStatus(200).send({ message: ":D" }); 
    }); 
}); 

module.exports = router; 

である私もstatussendStatusを変更しようとしましたが、エラーがあまりにもstatusについて同じことを言います。なぜ私はこれらのエラーを取得していますか?

+1

角度ではありません。引数の順序は平均値です。 –

答えて

5

エクスプレスハンドラ関数の引数resreqの順序が間違っています。それらは:

function (req, res, next) {}

+0

笑馬鹿みたいな気がする...どうもありがとう! –

関連する問題