javascript - Pass result from a function to another function on nodejs -
i have function connect db , consult in it.
function conn (text){ var mysql = require("mysql"); var connection = mysql.createconnection({ connectionlimit : 100, //important host : 'xxx.xxx.xxx.xxx', user : 'xxxxxx', password : 'xxxxxxx', database : 'xxxxxxxx' }); connection.connect(); var querystring = 'select usuario.idusuario usuario usuario.nickname = ' + '"' + text + '"'; function getid(text, callback){ connection.query(querystring, function(err, rows, fields) { var id; if (err){ callback(err, null); }else{ (var in rows) { id = rows[i].idusuario; } callback(null, id); } }); } var result; getid(text, function(err, content) { if (err) { console.log(err); } else { result = content; } }); connection.end(); };
now, need result in other variable use in other functions inside js file. how can value without code inside variable?
your function conn (text)
fetching data using callbacks, need carry pattern way consuming code. i'm not sure "other functions" like, let's pretend 1 looks this:
function awesomefunction() { var sweetresult = conn('sweet nickname'); alert(sweetresult); }
conn
going connect , issue query db. not want stop else , wait result come back, want db library call when has results, hence callbacks. since database isn't stopping everything, control returns conn
function, , awesomefunction
, , passes next line alert(sweetresult)
. wait! didn't return conn, more important, database hasn't called results yet!
so, need awesomefunction
more this:
function awesomefunction() { conn('sweet nickname', function(err, sweetresult) { alert(sweetresult); }); }
which means, conn
needs accept , use callback too:
function conn (text, resultsareincb){ ... connection.query(querystring, function(err, rows, fields) { var id; connection.end(); if (err){ resultsareincb(err, null); } else { (var in rows) { id = rows[i].idusuario; } callback(null, id); } }); ... };
Comments
Post a Comment