[問題] 關於node callback機制

看板Ajax作者 (蔥頭)時間11年前 (2012/10/21 12:15), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
請問一下,最近研究node遇到個問題 假設玩家目前有money : 10, 是否會發生當'updateCoin1' event發出後,執行的query還沒執行callback,就去執行'updateCoin2' event的query, 導致updateCoin1執行callback後,將money變成0,而updateCoin2執行callback把money更新成-10這樣的錯誤, 請問運作機制是我說的這樣嗎??db.query皆會丟到背景執行?? on.(cmd === 'updateCoin1') { db.query('select * from user',function(err, rows){ if(err){ return false; } if(rows.money >= 5){ db.query('update user set money=momey-5',function(err, rows){ if(err){ return false; } return true; }); } }); } on.(cmd === 'updateCoin2') { db.query('select * from user',function(err, rows){ if(err){ return false; } if(rows.money >= 10){ db.query('update user set money=momey-10',function(err, rows){ if(err){ return false; } return true; }); } }); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.236.198

12/07 18:12, , 1F
用nodejs + flow control關鍵字google一下
12/07 18:12, 1F
文章代碼(AID): #1GWtRMFD (Ajax)