2017-09-27 3 views
0

변수 'price'의 값을 얻고이를 전역 변수로 전달하면 프로그램의 다른 곳에서 사용할 수 있습니까? typescript variables

gdax.loadMidMarketPrice(product).then((price: BigJS) => { 
    console.log('Mid-market Price: $${price}/BTC'); 
}).catch(logError); 

나는이 시도하지만 변수는 함수

gdax.loadMidMarketPrice(product).then((price: BigJS) => { 
    var midprice=price; 
    console.log('Mid-market Price: $${price}/BTC'); 
}).catch(logError); 
+0

브라우저에서 : window [ 'midprice'] = price;'. Node.js에서 :'global [ 'midprice'] = price;'. 그런 다음 파일 정의 TS 파일의 어딘가에 'var midprice : any'를 선언해야합니다. 그러나 ** 매우 나쁜 습관 **입니다. – Paleo

+0

어떻게 사용하나요? 이것을 사용 가능하게하고 싶습니까? 어떤 환경에서, 어떤 다른 기술. – toskv

+0

변수를 동일한 타이프 스크립트 파일의 다른 함수에서 사용 가능하게 만들고 싶습니다. – Jin

답변

0

잘 밖에 볼 수 없습니다, 당신은 당신이 같은 타이프 스크립트 파일에 모든 것을 가지고 말한다. 변수를 함수 밖으로 옮기면됩니다.

var midprice; 

gdax.loadMidMarketPrice(product).then((price: BigJS) => { 
    midprice = price; 
    console.log('Mid-market Price: $${price}/BTC'); 
    someOtherFunc(); 
}).catch(logError); 

function someOtherFunc() { 
    console.log("Hey, I can see it! It's " + midprice); 
} 
+0

이걸 시도했지만 콘솔 로그에서 midprice가 정의되지 않았다고 말할 수 있습니다. – Jin

+0

@Jin 그러면 코드에 문제가 있습니다. 내 예제에서'midprice'는'someOtherFunc'가 호출되기 전에 설정되어 변수가 존재해야합니다. 어쩌면 당신은 다른 코드를 시도하고 그것이 설정되기 전에'midprice'에 접근하고 있습니까? 어쩌면 당신은 당신의 예제에서 미지의'gdax.loadMidMarketPrice' 호출을 더미로 대체하여 정확한 문제를 재현 할 수 있습니까? – kayahr