2016-09-04 60 views
0

我想縮小此nodejs腳本的實時輸出。nodejs - 過濾器實時輸出

var autobahn = require('autobahn'); 
var wsuri = "wss://api.poloniex.com"; 
var connection = new autobahn.Connection({ 
    url: wsuri, 
    realm: "realm1" 
}); 

connection.onopen = function (session) { 
     function marketEvent (args,kwargs) { 
       console.log(args); 
     } 
     function tickerEvent (args,kwargs) { 
       console.log(args); 
     } 
     function trollboxEvent (args,kwargs) { 
       console.log(args); 
     } 
     session.subscribe('BTC_XMR', marketEvent); 
     session.subscribe('ticker', tickerEvent); 
     session.subscribe('trollbox', trollboxEvent); 
} 

connection.onclose = function() { 
    console.log("Websocket connection closed"); 
} 

connection.open(); 

劇本是從交換的API文檔採取: https://poloniex.com/support/api/

當我在節點運行它,我得到的所有貨幣對的實時更新。如何僅輸出選定的一對?

我在文檔中看不到類似的東西。

+0

你想要什麼樣的配對? – theonlygusti

+0

我想要BTC_SDC。謝謝。 – Wasteland

+0

將session.subscribe('BTC_XMR',marketEvent);'改爲'session.subscribe('BTC_SDC',marketEvent);'?我目前無法訪問節點環境,因此不知道輸出結果如何:P – theonlygusti

回答

1
function tickerEvent (args,kwargs) { 
     if(args[0] !== "BTC_SDC"){ 
      return; // causes anything not "BTC_SDC" related to be filtered out. 
     } 
     console.log(args); // information you want. 
    } 

我建議在ticker中該數組的第一個項目的外殼。

+0

輝煌 - 就是這樣。你是什​​麼意思'套在第一個項目上'? – Wasteland

+1

使用'switch'開關https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch 而不是寫其他如果其他如果其他如果反覆獲得更多的信息和做不同這些「案例」中的事情。該API也發送了一個非常糟糕的形狀有效載荷,我建議將它映射到一個對象,以便更容易理解,並且您不使用「幻數」來知道該數組中的事物的順序。 –