2017-09-27 3 views
0

Comment puis-je obtenir la valeur de la variable 'price' et la transmettre en tant que variable globale afin de pouvoir l'utiliser ailleurs dans mon programme?passer des variables de type dactylographiées

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

J'ai essayé, mais la variable n'est pas visible en dehors de la fonction

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

Dans un navigateur: 'window ['midprice'] = price;'. Dans Node.js: 'global ['midprice'] = prix;'. Ensuite, vous devez déclarer 'var midprice: any' quelque part dans un fichier de définition de fichier TS. Mais c'est une ** très mauvaise pratique **. – Paleo

+0

comment est-ce utilisé? voulez-vous rendre cela disponible? dans quel environnement, quelles autres technologies. – toskv

+0

Je veux juste rendre la variable disponible aux autres fonctions dans le même fichier tapuscrit. – Jin

Répondre

0

Eh bien, dites-vous que vous avez tout dans le même fichier dactylographiée. Ensuite, déplacez simplement la variable hors de la fonction

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

J'ai essayé ceci, mais le journal de la console dirait que midprice est indéfini – Jin

+0

@Jin Puis quelque chose ne va pas avec votre code. Dans mon exemple 'midprice' est réglé avant que' someOtherFunc' soit appelé et donc la variable doit exister. Peut-être que vous avez essayé un autre code et que vous accédez à 'midprice' avant qu'il ne soit défini? Peut-être que vous pouvez remplacer l'appel 'gdax.loadMidMarketPrice' inconnu dans votre exemple par un dummy afin que nous puissions reproduire votre problème exact? – kayahr