Aşağıdaki gibi bir kod yazdım. Burada altının değerini almak için Fetch API kullanıyorum fakat ne yaptıysam gramAltin değişkenine bu değeri atayamadım. Hatayı nerede yapıyorum yardımcı olabilecek var mı?

        let gramAltin;
        // Fetch ile veriyi çek
        fetch('https://finans.truncgil.com/v3/today.json')
        .then(response => response.json())
        .then(data => {
            // Veriden gram altın değerini al ve değişkene ata
            gramAltin = data["gram-altin"]["buying"];
            // Sonuçları ekrana yazdır
            yazdirSonuclari(gramAltin);
        })
        .catch(error => console.error(error));
        function yazdirSonuclari(gramAltin) {
            console.log(gramAltin)
            // Toplam alınan ve satılan gramı hesapla
            let toplamAlinanGram = altinAlimlar.reduce((acc, curr) => acc + curr.gram, 0);
            let toplamSatilanGram = altinSatislar.reduce((acc, curr) => acc + curr.gram, 0);
            // Toplam alınan ve satılan tutarı hesapla
            let toplamAlinanTutar = altinAlimlar.reduce((acc, curr) => acc + curr.gram * curr.fiyat, 0);
            let toplamSatilanTutar = altinSatislar.reduce((acc, curr) => acc + curr.gram * curr.fiyat, 0);
            // yardımcı fonksiyonlar
            function toplaVeSayi(dizi) {
                let toplam = 0;
                let sayi = 0;
                for (let i = 0; i < dizi.length; i++) {
                    toplam += dizi[i].fiyat * dizi[i].gram;
                    sayi += dizi[i].gram;
                }
                return { toplam, sayi };
            }
            function ortalamaFiyat(dizi) {
                const { toplam, sayi } = toplaVeSayi(dizi);
                return toplam / sayi;
            }
            // Ortalama alış ve satış fiyatlarını hesapla
            let ortalamaAlisFiyati = ortalamaFiyat(altinAlimlar);
            let ortalamaSatisFiyati = ortalamaFiyat(altinSatislar);
            // Portföy hesaplamalar
            let kalanGram =  toplamAlinanGram - toplamSatilanGram;
            let grKurDeger = kalanGram * gramAltin;
            let karZarar =  (ortalamaSatisFiyati) - (ortalamaAlisFiyati);
            let netKarZarar = (grKurDeger + toplamSatilanTutar) - toplamAlinanTutar;
            let kalanGramKar = gramAltin - ortalamaAlisFiyati;
            // Sonucu ekrana yazdır
            let guncelPortfoy = document.getElementById("guncelPortfoy");
            guncelPortfoy.innerHTML = `
                <h2 class="mt-5">Portföyum</h2>
                <div class="card-group">
                    <div class="card border-secondary mb-3 col-4">
                        <div class="card-header">GÜNCEL KUR</div>
                        <div class="card-body text-secondary">
                            <h5 class="card-title">${gramAltin}₺</h5>
                        </div>
                    </div>
                    <div class="card border-secondary mb-3 col-4">
                        <div class="card-header">KASA DEĞERİ</div>
                        <div class="card-body text-secondary">
                            <h5 class="card-title">${grKurDeger.toFixed(2)}₺ (${kalanGram}gr)</h5>
                        </div>
                    </div>
                    <div class="card border-secondary mb-3 col-4">
                        <div class="card-header">KAR/ZARAR</div>
                        <div class="card-body text-secondary">
                            <h5 class="card-title">${netKarZarar.toFixed(2)}₺</h5>
                        </div>
                    </div>
                </div>
                <ul class="list-group">
                    <li class="list-group-item">Toplam Maliyet: ${toplamAlinanTutar.toFixed(2)}₺ (${toplamAlinanGram}gr)</li>
                    <li class="list-group-item">Toplam Satılan: ${toplamSatilanTutar.toFixed(2)}₺ (${toplamSatilanGram}gr)</li>
                    <li class="list-group-item">Ort. Alış: ${ortalamaAlisFiyati.toFixed(2)}₺ (${toplamAlinanGram}gr)</li>
                    <li class="list-group-item">Ort. Satış: ${ortalamaSatisFiyati.toFixed(2)}₺ (${toplamSatilanGram}gr)</li>
                    <li class="list-group-item">Kalan altın GR başı kar: ${kalanGramKar.toFixed(2)}₺</li>
                </ul>
            `;
        }