Json и видимость в других функциях js

Пытаюсь вытянуть данные из json запроса. Но за пределами функции не видит переменную.

$(document).ready(function(){
        var btc;
        getRate();
        console.log(btc);           
    }); 
    function getRate(){
        btc = $.get(
            "https://api.cryptonator.com/api/ticker/btc-rub",
            function(data){
                console.log(data);
                btc = Math.floor(data.ticker.price);
                //console.log(btc);
            }
        );      
    }

Json данные

{"ticker":{"base":"BTC","target":"RUR","price":"2257594.54489560","volume":"246.82852908","change":"-12430.04940330","markets":[{"market":"Binance","price":"2277288.00000000","volume":99.10411},{"market":"Cex.io","price":"2307363.90000000","volume":7.37840741},{"market":"Exmo","price":"2243140.00000000","volume":115.85872393},{"market":"Kuna","price":"2297929.98000000","volume":3.546166},{"market":"YoBit","price":"2220000.00000000","volume":20.94112174}]},"timestamp":1609774803,"success":true,"error":""}

надо переменной btc присвоить данные из запроса поля price что бы переменную btc можно было использовать в любом месте кода.


Ответы (1 шт):

Автор решения: dmitriy_vlz

Немного переписал, но результат дает.

$(document).ready( async function(){
        let btc = await getRate();
        console.log('Price:' + btc);           
 }); 

 async function getRate(){
       let res =  await fetch("https://api.cryptonator.com/api/ticker/btc-rub");
       let resJSON =  await res.json()       
       return Math.floor(resJSON.ticker.price)
 }

→ Ссылка