2017-02-14 13 views
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)); 
} 

Сейчас Реагирование результат Database Query, но я хочу, чтобы это реакции Результат 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; 
      }) 

Как я могу ответить на Клиента с результатом Результата СВН Command?
Изменить res Sequelize?
Напишите как-то собственный ответ?
Или есть пакет SVN с обещаниями?

Использование только NodeJs 6.9.5
Express 4.0
Sequelize 3,28

ответ

0

Для возврата данных я использую следующие методы.

res.status = 200; 
res.json({myData: "example"); 

Если у вас есть ошибки вы хотите отправить что-то вроде этого:

res.status = 400; 
res.JSON({message: "error. Invalid request"}) 

Вы должны решить, какой тип данных, которые вы собираетесь вернуться с вашего веб-сервера. В приведенном выше примере используется JSON и лучше всего подходит для стека JavaScript.