私は、ファイル(モジュール)間の可変要素を参照によって共有する方法を探している初心者です。例えば、私のここでのがjavascript 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です。今differenct場合は、新しい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))
})
}
私の悩み
socket.on( "検索"、...)
は...目的球
する必要があります今では使用しなencloser場合
cket.on( "検索"、()=> ...)
輸出修正{ユーザーは、waitingQueue}フォームSearch.jsはOKですが、& waitingQueueはなく、働いていないvariblesユーザーをオーバーライドする必要があります。 私はこれらの変数を他のモジュールとも共有する必要があります。
また、イベントエミッタベースのアプローチObject.observe()を試しても問題を解決することはできません。 誰も私が
完璧な答えのおかげですべてが順調と良いのですが、どのように助けがない – shivshankar