2017-01-15 1 views
0

노드에서 웹 소켓을 통해 느슨하게 연결되는 모듈의 인스턴스를 만듭니다. 나는 const slackbot = new SlackBot()으로 이것을한다. 몇 가지 모듈로 동일한 slackbot을 참조 할 수 있도록 설정하려면 어떻게해야합니까? 해당 모듈 내에서 호출 할 때마다 slackbot을 모듈 함수에 전달하는 가장 좋은 방법은 무엇입니까? 일을NodeJS : 여러 모듈에서 동일한 변수 참조

const slackbot = new SlackBot(); 

someModule.doThing(data, slackbot) 
.then((response) => { 
    otherModule.doAnotherThing(response, slackbot); 
}) 
.then((response) => { 
    someModule.wrapUp(response, slackbot); 
}); 
+1

는 "단지 기능을 내가 그 모듈 내에서 전화를 할 때마다 모듈에 slackbot를 전달하는 가장 좋은 방법이 있나요?"입니다 예. 글로벌하게 만드는 방법이 있지만 좋은 스타일이 아닙니다. – Ryan

답변

0

한 가지 방법은

/** slacbot.js */ 
const slackbot = new SlackBot(); 

someModule.doThing(data, slackbot) 
.then((response) => { 
    otherModule.doAnotherThing(response, slackbot); 
}) 
.then((response) => { 
    someModule.wrapUp(response, slackbot); 
}); 

// getter  
var getSlackBot = function(){ 
    if(slackBot) return slackBot 
    else { 
    slackbot = new SlackBot(); 
    return slackbot; 
    } 
} 

module.exports.getSlackBot = getSlackBot; 


/** consumer.js **/ 
var slackBot = require('slackBot').getSlackBot(); 
관련 문제