2013-07-19 3 views
0

Как получить ответ экспресс-приложения в виде строки, заданной объектом запроса?Получите ответ приложения Node.js Express как строку

Другими словами, я хочу, чтобы отправить объект запроса в экспресс-приложение и получить его ответ в виде строки.

В коде, я ищу некоторые реализации метода sendToThisApp:

var app = express(); 
app.get(/* Some code here */); 
var request = // Some request object 
var response = app.sendToThisApp(req) 
console.log(response); 

Спасибо.

ответ

0

Похоже, вы ожидаете, что ситуация произойдет синхронно, и узел и экспресс хотят обрабатывать асинхронно через обратные вызовы.

Но, кроме этого, я не совсем понимаю, что вы пытаетесь сделать.

Если у вас есть код для приложения-узла, и вы просто хотите увидеть объект ответа в виде строки, тогда самый простой способ справиться с этим - через обратный вызов get.

app.get('/', function(req,res){ 
    console.log(res); 
} 

Но, не зная, что вы на самом деле после, я не могу дать лучший совет.

+0

'app.get' позволяет вам отвечать на запросы, когда получает запрос на получение. То, что я ищу, - это способ запускать запрос на приложение и получать ответ, который будет давать приложение. – Sam

+0

Итак, ваши варианты: a) экстернализация ваших обработчиков в классы, которые вы можете создать и передать параметры, или b) сделать веб-запрос к запущенному приложению. Последний тривиально прост в узле, даже проще обычного, если вы решите использовать модуль «запрос» от npm. В любом случае вы все равно будете обрабатывать его как обратный вызов, а не делать это синхронно. – Paul

+0

Я не против асинхронного поведения. Могу ли я затем заставить приложение прослушивать порт, а затем сделать запрос на этот порт? Этот подход кажется немного лишним ... – Sam

1

Вот код для простого приложения Node.js Экспресс:

var app, express; 
express = require('express'); 
app = express(); 
app.get('/', function(req, res) { 
    console.log(res); 
    res.end(); 
}); 
app.listen(8080); 

Для того, чтобы вызвать запрос получить на это приложение, вам нужно запустить приложение на узле. Откройте терминал и введите следующую команду:

node app.js 

Затем вам нужно только, чтобы начать свой любимый браузер, перейдите на локальный хост: 8080, и оглядываются на журнале ответа в терминале.