传递打字稿变量

问题描述:

如何获取变量'price'的值并将其作为全局变量传递,以便在我的程序的其他地方使用它?传递打字稿变量

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

好以外,你说你在同一个打字稿文件的一切。然后只需将该变量移出功能

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是undefined – Jin

+0

@Jin然后你的代码出了问题。在我的例子中,'midprice'是在调用someOtherFunc之前设置的,因此变量必须存在。也许你试过一些其他的代码,并且在设置之前访问'midprice'?也许你可以在你的例子中用一个虚拟替换未知的'gdax.loadMidMarketPrice'调用,以便我们可以重现你的确切问题? – kayahr