2016-01-18 2 views
0

я хочу, чтобы переместитьNode.js - FREE-ING res.end() - от асинхронного вызова - функция

res.end(); 

прямо над

}).listen(80); 

таким образом я могу иметь только одну res.end();
за весь сценарий .. а не множественным ..

в настоящее время это мой сценарий:

var http = require('http'); 
var mysql = require('mysql'); 

var connection = mysql.createConnection({ 
    host  : '-------------', 
    user  : '2', 
    password : '-------------', 
    database : '1', 
}); 

connection.connect(); 


var server=http.createServer(function(req,res){ 
     res.writeHead(200,{'Content-Type': 'text/html; charset=utf-8'}); 
     var oo = require('/3.js'); 
     oo(connection, function (e, result) { 
     res.end(result); 
     }); 

}).listen(80); 

я не знаю, как освободить

res.end(result); 

так, что он может быть помещен прямо над

}).listen(80); 

и, таким образом, становится более логичным.
(логично, так как:. Предположим, aa будет переменная, которая может исходить от различных источников) (например: "если" "еще" ..)

я пытался:

var server=http.createServer(function(req,res){ 
    res.writeHead(200,{'Content-Type': 'text/html; charset=utf-8'}); 

    var oo = require('/3.js'); 
    oo(connection, function (e, result) { 
    var aa = result; 
    }); 

res.end(aa); 

}).listen(80); 

без успеха.

ответ

1

Посмотрите на express framework, что значительно упростит различные маршруты, чтобы вызвать разные части вашего кода.

Смежные вопросы