2017-09-27 71 views
0

如何獲取變量'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

回答

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

+0

@Jin然後你的代碼出了問題。在我的例子中,'midprice'是在調用someOtherFunc之前設置的,因此變量必須存在。也許你試過一些其他的代碼,並且在設置之前訪問'midprice'?也許你可以在你的例子中用一個虛擬替換未知的'gdax.loadMidMarketPrice'調用,以便我們可以重現你的確切問題? – kayahr