亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

nodejs請求進來我把請求放入隊列,如何一個一個取出來?

nodejs請求進來我把請求放入隊列,如何一個一個取出來?

慕仙森 2018-09-24 20:08:38
用scoket做聊天程序,請求進來,我把請求放入了隊列,代碼如下:  rob_vest: async function (data, socket, io) {         console.log(type, '------------------------------------------')        var queue = new Queue();//創建隊列         queue.push(data)//往隊列里放入請求數據         get_vetst(queue,socket, io)//這是從隊列取出數據     }, async function get_vetst(queue,socket, io) {    // let sequlize = await db     let len = queue.size()    if (len !== 0) {        let data = queue.pop() //從對列取出數據         //下面是一些對數據的處理以及存庫操作         ...         }     }想上面這樣寫如果下一次的請求依賴上一次的操作表的結果會導致出現預想之外的結果,雖然是放入到了隊列中,但是如果兩次請求同時進來,還是會同時讀取兩次對列中的數據,然后同時對表進行操作,導致第二次的請求,沒有得到第一次的結果,理想的流程是,兩次請求進來,把兩次的請求放入隊列,然后會觸發一個方法,這個方法讀取隊列中的數據,當第一次讀取并且執行完一系列的操作后,在讀取下一個數據再進行操作get_vetst方法不應該依賴rob_vest我該如何操作??各位大佬們
查看完整描述

1 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

需要callback回傳ack確認消息,參考amqp協議的消息確認機制

查看完整回答
反對 回復 2018-09-24
  • 1 回答
  • 0 關注
  • 1852 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號