2011-06-08 108 views
1
client.on('message', function(obj){}); 

這工作得很好,但我試圖避免嵌套,所以我把回調函數出來,像這樣:將數據傳遞給Socket.io回調

client.on('message', doThis(obj)); 

function doThis(obj) {} 

但是這給了我一個錯誤說OBJ未定義。

如何將消息數據傳遞給回調函數?

感謝

回答

3
client.on('message', doThis); 

function doThis(obj) {} 

f(doThis)是正確的語法。 f(doThis(arg))是錯誤的語法。

後者立即調用doThis,參數arg(尚不存在)。

這就是爲什麼它說obj是不確定的,因爲您立即致電doThis

f(doThis)所做的是通過函數而不是函數的返回值