это главный
Node.js - функция ж/MySQL запросов не работает
9.js
я Посылаю «связь» детали
3.js
поэтому он может быть использован в функции под названием «оо»
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');
var ee = oo(connection);
res.end(ee);
}).listen(80);
это 3.js
function oo(connection) {
var ss = 'SELECT * FROM 1_accounts order by ac_nu asc limit 5';
connection.query(ss, function(err,res,fields){
bb = JSON.stringify(res);
});
return bb;
}
module.exports = oo;
пробег
ДАВАЙТЕ:
[email protected]:/# node 9.js
/3.js:7
return bb;
^
ReferenceError: bb is not defined
at oo (/3.js:7:9)
at Server.<anonymous> (/9.js:20:11)
at emitTwo (events.js:87:13)
at Server.emit (events.js:172:7)
at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:528:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:88:23)
[email protected]:/#
он утверждает, что "бб" не определен.
, но он определен в функции.
Я предпочитаю не добавлять никаких «обратных вызовов». пытаясь выяснить самый простой способ получить «bb», возможно, через «возврат», как обычная нормальная функция, как в php и т. д.
В вашем 9.js импорт 'oo' с именем' aa', то попробуйте использовать 'oo'. Вы можете начать с этого. –
Где bb определен в 3.js? И mysql является асинхронным, поэтому вам потребуется обратный вызов –