JavaScript Promise - sonuç yerine promise objesini veriyor

altunarda

Femtopat
Katılım
24 Şubat 2023
Mesajlar
4
Daha fazla  
Cinsiyet
Erkek
JavaScript:
element.innerHTML = ` <div id="followers">${ control(data.email).then(res => res)}</div>` // buradaki data değişkeni bir json objesi

function control(data){ // bu fonksiyon json objesinde istediğim veri yoksa null yazmak yerine veri bulunamadı yazısı dönecek
 return new Promise((resolve,reject) => {
 if(data === null){
 resolve("Veri bulunamadı");
 } else {
 resolve(data);
 }

 })
}

// kodu çalıştırdığımda sonucu vermek yerine promise objesini dönüyor
 
Son düzenleyen: Moderatör:
Async yapman gereken bir sey yapmiyorsun. O sebeple promise return etmene gerek yok.
Illa return edeceksen:

Kod:
control(data).then(r => console.log(r)); // ya bu sekilde
const resp = await control(data);
console.log(resp); // ya da await ile bu sekilde
 
Sorunu promise kullanmadan şöyle çözdüm;


JavaScript:
element.innerHTML = `
<div id="followers"></div>
<div id="company"></div>
<div id="location"></div>
<div id="email"></div>
`
cardbody.appendChild(element);

const allDatas = [data.followers,data.company,data.location,data.email];
const allIds = ["followers","company","location","email"];

allDatas.forEach((data,index) => {
 const element = document.getElementById(allIds[index]);
 
    if(data === null){
        element.textContent = "Veri Bulunamadı";
    } else{
        element.textContent = data;
    }
})

Bu yöntem içime sindi ve güzel çalışıyor. Başka önerileriniz varsa yazabilirsiniz.
 

Yeni konular

Geri
Yukarı