2017-02-14 3 views
0

Iam mit
https://github.com/peteward44/node-svn-ultimate
Und es ist nicht mit Versprechungen entwickelt. Aber ich möchte das Ergebnis, ob Erfolg oder Fehler, von NodeJs Server an den Client senden.
Normalerweise geht es auf diese WeiseSenden manipulierten/eigene Erstellt Antwort auf Client von Server

// 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)); 
} 

Es ist nun das Ergebnis der Datenbankabfrage reagiert, aber ich möchte, dass es die SVN Ergebnis Antwort.
versuchten einige Dinge wie

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; 
      }) 

Wie kann ich Kunde mit dem Ergebnis des SVN Befehl Ergebnis reagieren?
Ändern Sie die res von Sequelize?
Schreiben Sie irgendwie eigene Antwort?
Oder gibt es ein SVN-Paket mit Versprechen?

Mit nur NodeJS 6.9.5
Express 4.0
Sequelize 3,28

Antwort

0

Daten zurückzukehren ich die folgenden Methoden verwenden.

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

Wenn Sie einen Fehler haben Sie so etwas wie dies wünschen würden senden:

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

Sie müssen entscheiden, welche Art von Daten, die Sie von Ihrem Webserver zurückkehren werden. Das obige Beispiel verwendet JSON und ist am besten für einen JavaScript-Stack geeignet.

Verwandte Themen