我想知道是否有可能有同步塊中的Node.js應用。我是Node的總新手,但我無法找到任何具體的行爲的好答案。同步塊中的Node.js
我的實際應用程序會涉及更多一點,但基本上我想要做的是支持GET請求和POST請求。 POST請求會將一個項目追加到存儲在服務器上的數組中,然後對數組進行排序。 GET請求將返回數組。顯然,多個GET和POST同時發生,我們需要一個正確性保證。這是一個什麼樣的代碼將理論上看起來像一個非常簡單的例子:
var arr = [];
app.get(/*URL 1*/, function (req, res) {
res.json(arr);
});
app.post(/*URL 2*/, function (req, res) {
var itemToAdd = req.body.item;
arr.push(itemToAdd);
arr.sort();
res.status(200);
});
什麼,我擔心的是一個GET請求返回數組它或排序之前,但該項目被追加後,更有甚者,回國數組作爲它正在排序。在像Java這樣的語言中,我可能只會使用ReadWriteLock。從我讀過有關節點的不同步,它不會出現arr
將在保留此行爲的方式來訪問,但我很樂意被證明是錯誤的。
如果無法修改代碼,我目前不得不支持此行爲,那麼是否有其他替代方法或解決方法來讓應用程序執行我想要的操作?
這正是我需要知道!這意味着我可能必須爲我的項目使用多個服務器,但至少我不需要明確地處理線程。我的陣列平均大約需要50個元素,在最極端的情況下大約需要500個元素,所以阻止這一點並不是一個大問題。 –