2016-09-04 6 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. 
    } 

해당 배열의 첫 번째 항목에 대해 시세 표시로 제안합니다.

+0

훌륭함 - 그게 전부입니다. 첫 번째 항목에 '케이싱'이란 무엇을 의미합니까? – Wasteland

+1

'스위치'사용 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch writting 대신 else if else if 반복적으로 자세한 정보를 얻고 다른 것을하십시오 그 "사례들"에있는 것들. API는 매우 심하게 모양의 페이로드를 보내고 있습니다. 객체에 매핑하는 것이 좋습니다. 따라서 이해하기 쉽고 배열에서 물건의 순서를 알기 위해 "매직 넘버"를 사용하지 않아도됩니다. –

관련 문제