0
使用Iam
https://github.com/peteward44/node-svn-ultimate
而且它不是用Promises開發的。但我想從NodeJs服務器向客戶端發送成功或錯誤結果。
通常它會這樣發送操作/自己創建的響應來自服務器的客戶端
// Client -> AngularJs Request
svn()
{
this.$http.post(...)
.then(res => {
console.log(res);
},err=>{
console.log(err);
});
}
**Server**
// index.js
'use strict';
var express = require('express');
var router = express.Router();
router.post('/svn', controller.svn);//the route to use
module.exports = router;
//controller.js
function respondWithResult(res, statusCode) {//respond to client
statusCode = statusCode || 200;
return function(entity) {
if (entity) {
res.status(statusCode).json(entity);
}
};
}
...
export function svn(req, res) {
return DB.find({...})//Sequelize Query
})//returning res as promise
.then(res => {
svnUltimate.commands.commit(..., (err, success) => {
if (err) {
console.log('commit error')
console.log(err)
} else {
console.log(success);
})
return res;
})
})
.then(respondWithResult(res))
.catch(handleError(res));
}
它現在響應數據庫查詢的結果,但我想它對應措施SVN結果的。
像
svnUltimate.commands.commit(..., (err, success) => {
if (err) {
res=err;
} else {
//res=success;// answer was still the DB query
//return success; // no output
//res.status(404).send('crazy');// is no function
//res.status = 404 //no output
// res.writeHeader()// no function
})
return res;
})
試了幾件事情我怎麼能以響應客戶端與SVN命令結果的結果?
修改Sequelize的res
?
寫下自己的迴應?
還是有承諾的SVN包?
只使用 6.9.5的NodeJS
快車4.0
Sequelize 3.28