簡體   English   中英

我如何使用Express Framework在循環中獲取局部變量以更改節點js中的全局變量?

[英]how can i get my local variable in loop to change global variable in node js using express framework ??

我有來自並行異步回調的對象數組結果 ,下一個過程我想使用循環將objact數組結果插入到我的表中,但是我現在不處理狀態插入。

var boolean = false;

  if(results.code.success === true){
    for(i=0; i<req.body.id_barang.length; i++){
      detail[i] = {
        "id_transaksi" : results.code.id_transaksi,
        "id_barang" : req.body.id_barang[i],
        "qty" : req.body.qty[i],
        "sub_total" : parseInt(req.body.sub_total[i].replace(/,.*|\D/g,''),10)
      }
      connection.query("insert into detail_transaksi set ? ", detail[i], function(err, rows){
        if(err){
          null
        } else{
          boolean = true;
        }
      })
    }
  }
  var output = {"success" : boolean}
  res.send(output);

為了擴展jfriend00的答案, function(err, rows)是一個回調函數,將在查詢解決后執行。 同時,無需等待查詢解決,而是執行var output = {"success" : boolean}而無需在回調中進行布爾值修改。

因此,為了正確發送輸出,必須在boolean = true;之后將代碼包括在callback中 boolean = true;

這是一個很好的問題,給出了node.js中回調用法的基本示例。

暫無
暫無

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

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