我是新手尋找解決方案如何通過引用在文件(模塊)之間共享變量。一個例子我這裏是app.jsjavascript node.js模塊間變量共享
const users = {},
waitingQueue = []
module.exports = function(io){
io.on('connection', (socket)=>{
users[socket.id] = socket
socket.on("Search", (d, ack)=>{
waitingQueue.push(socket)
// logic with waitingQueue
// logic with users {}
})
socket.on("otherEvent", (d, ack)=>{
// logic with waitingQueue
// logic with users {}
})
})
}
現在我想將其劃分modulewise。現在新的app.js
const users = {},
waitingQueue = []
const Search = require('./search')
module.exports = function(io){
io.on('connection', (socket)=>{
users[socket.id] = socket
socket.on("Search", Search(users, waitingQueue))
})
}
現在
在differenct情況下,我的麻煩
socket.on( 「搜索」,...)
...應該是一個funtion
現在如果使用罩殼
所以cket.on( 「搜索」,()=> ...)
出口修改{用戶,waitingQueue}形式Search.js是確定的,但需要覆蓋用戶& waitingQueue可變因素而無法正常工作。 我需要將這些變量與其他模塊緊密耦合在一起。
我也嘗試基於事件發射器的方法Object.observe()但無法修復問題。 有人幫我請來解決這個問題
完美的答案感謝@詹姆斯 – shivshankar