簡體   English   中英

node.js全局變量有問題

[英]node.js global variable problematical

我不太了解JavaScript。 我無法定義全局變量。

var data = 'empty';

connection.query('SELECT * FROM deneme',function(err, rows, fields){
    if (err) throw err;
    data = rows;
});

console.log(data);

通常,控制台需要返回“行”數據,但返回“空”。 如何從函數內部查詢行? 如何定義全局變量?

它不起作用的原因是因為console.log在異步代碼塊之外。 基本上是這樣的:

  1. data設置為empty ;
  2. connection發出數據庫請求;
  3. console.log觸發(此時dataempty );
  4. 收到數據庫響應;
  5. 回調觸發;
  6. data設置為rows

因此,為了獲得所需的內容,只需將console.log語句放入異步塊代碼中:

var data = 'empty';

connection.query('SELECT * FROM deneme',function(err, rows, fields){
    if (err) throw err;
    data = rows;
    console.log(data);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM