>
> the operation "resultData = rows" is inside a callback, meaning it's in
> another thread.
>
a callback is not inside another thread. You seem to talk about a low-level
NodeJS management operation where the environment itself can use other
threads, but I don't see what that has to do with callbacks. Callbacks
operate in the same thread, just lower down the call stack.
On Tuesday, 4 July 2017 20:40:28 UTC+1, Calogero Mandracchia wrote:
>
> Hi Alex!
>
> If you are writing software which isn't way too complex and you don't want
> to get crazy with all the secrets of Nodejs and JS then sure let's never
> think that nodejs is multithread, it will only confuse people and send them
> away to learn Python or whatever other "fast learning curve" programming
> language.
>
> One day you'll need to do 5 big queries, each of them will need 1 minute.
> Unexpectedly It will take 2 minutes! Then you'll want to know the truth:
> Nodejs is multithreading and has a pool of 4 threads.
> Setting process.env.UV_THREADPOOL_SIZE =5 will do the trick.
> I'm not sure about it but usually there should be 6 threads: 1 for the
> main loop event, 1 for the libuv(mostly handling the async I/O) and 4 in
> the pool.
>
> I don't know if new people learning JS should learn callbacks then
> promises and in the end async-await. They will sure know a lot more going
> through the callback hell but most of the times they just want to get
> things done ASAP.
>
> Calogero
>
>
>
> On Monday, 3 July 2017 22:24:19 UTC+2, Alex Wells wrote:
>>
>> "meaning it's in another thread"
>>
>>
>> I don't mean to pull you up on your helpful reply unnecessarily, but
>> it's still in the same thread. Your NodeJS process is always in a single
>> thread, and you should never think of it otherwise.
>>
>> A good concept (I think) is thinking of the callback as being placed onto
>> the execution stack of the current thread, but in the 'near future'. When
>> OP returns 'resultData', the 'near future' has not happened yet.
>>
>> Agree on using 'let' and 'const' for es6 concepts, definitely good if you
>> can use it in your project, but ditto 'Promises' which would help you here
>> I think - you'll still need to understand how anonymous function passing
>> works though! Callbacks are key.
>>
>> Thanks,
>> Alex
>>
>> On Sunday, 2 July 2017 03:53:06 UTC+1, Calogero Mandracchia wrote:
>>>
>>> Hi Kumar,
>>> the operation "resultData = rows" is inside a callback, meaning it's in
>>> another thread.
>>> When "return resultData;" is read, it's still undefined, because it's
>>> being processed in the callback.
>>> The simple answer woulb be to just put the "return" in the callback, the
>>> hard answer would be to understand how the main loop of nodejs works and
>>> how to use promises for handling callback.
>>>
>>> ps: use const or let instead of var :)
>>>
>>> Calogero
>>>
>>> On Sunday, 2 July 2017 02:06:46 UTC+2, Sushil Kumar Kishan wrote:
>>>>
>>>> Hi ,
>>>>
>>>> I am trying to display database value in a variable but does not return
>>>> any value.
>>>>
>>>> below is the code.
>>>>
>>>> var mssql = require('mssql');
>>>> var resultData='';
>>>> function getStyleData(){
>>>> var msSqlSettings = {
>>>> server : 'localhost',
>>>> port : '51663',
>>>> user : 'sa',
>>>> password : 'admin1234',
>>>> database : 'ComWriter.Temp002'
>>>> };
>>>> mssql.close();
>>>> mssql.connect(msSqlSettings, function (err ) {
>>>> if (err) {
>>>> throw (err);
>>>> }
>>>> var getQuery = "SELECT [Title] FROM [dbo].[Templates] " ;
>>>> var request = new mssql.Request();
>>>> request.query(getQuery, function (err, rows) {
>>>> //console.log(rows);
>>>> mssql.close();
>>>> resultData = rows;
>>>> });
>>>> });
>>>> return resultData;
>>>> }
>>>> var getFunction = getStyleData()
>>>> console.log(getFunction);
>>>>
>>>
--
Job board: http://jobs.nodejs.org/
New group rules:
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/nodejs/be521d65-aa98-4df2-b41a-e0346f3c2416%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.