我有答案...
function rawBody(req, res, next) {
var chunks = [];
req.on('data', function(chunk) {
chunks.push(chunk);
});
req.on('end', function() {
var buffer = Buffer.concat(chunks);
req.bodyLength = buffer.length;
req.rawBody = buffer;
next();
});
req.on('error', function (err) {
console.log(err);
res.status(500);
});
}
router.post('/:mobile/:username',rawBody,function(req,res){
if(req.rawBody && req.bodyLength>0){
var data={
mobile:req.params.mobile,
username:req.params.username,
image:req.rawBody
}
content.postdata(data,callback);
function callback(data){
console.log(data);
}
}
})
Demo.prototype.postdata=function(data,callback)
{
var data=new conn.Demo(data);
data.save(function(err,result){
if(err){
callback(err)
}else{
callback("successfully save");
}
})
}
檢查'Related'欄的右側,第一個環節。 – zerkms
我想他的意思是[如何從異步調用返回響應?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call ) – Jer