program.
CONTOH KASUS
====================================================================================
problem 1
<button onClick={login}>login</button>
callFirstName = () => {
setTimeout(() => {
login = () => {
this.setState({text: name}) }
render = () => {
return (
<button onClick={login}>login</button>
<div />
<h2>{text}</h2>
</div>
);
adalah = undefinedDarmawan
kita buat parameter pada function callFirstName, bebas nama nya apa,
setTimeout(() => {
callBack('Zepi')}, 5000)
dan
login = () => {
this.callFirstName((result) => {
};
baru ditampilkan.
nah dengan callBack ini lah asynchronous dapat kita jalankan dengan
baik.
=====================================================================================
problem 2 CallBack
setelah dari pada itu kita dapat sebuah problem baru nih.
callLastName = () => {
setTimeout(() => {
return "Darmawan";
}, 5000);
};
login = () => {
this.callFirstName((result) => {
};
nah hasil nya =
ZepiUndefined
kita tidak mungkin memanggil fungsi yang biasa saja,kita perlu mem
setTimeout(() => {
cb("Darmawan");
}, 5000);
};
login = () => {
this.callFirstName((result) => {
this.callLastName((result2) => {
this.setState({text: name});
})
});
};
maka hasilnya ketika dijalankan,
baru ditampilkan
ZepiDarmawan.
=====================================================================================
Promise
problem 3
menghandle asynchronous
callFirstName = () => {
resolve('Zepi')
}, 5000);
})
};
setTimeout(() => {
resolve(first + 'Darmawan')
}, 5000);
})
};
login = () => {
this.callFirstName()
.then(result => {
return this.callLastName(result)
})
.then(result2 => {
return this.setState({
text: result2
})
})
};
render = () => {
return (
<button onClick={login}>login</button>
<div />
<h2>{text}</h2>
</div>
);
====================================================================
problem 4
ke promise yang kedua ini, kita mau nya , result pertama kitagunakan
nya di then yang kedua.
nah ada cara yang berikt nya, dimana kita gak perlu mengirimkan
setTimeout(() => {
resolve('Darmawan')
}, 5000);
})
};
login = () => {
Promise.all([this.callFirstName(). this.callLastName()])
};
ZepiDarmawan.
promise yang banyak tadi pakai then, diproblem ke 3, itu disebut
chaining
===================================================================
async / await
nah cara pemanggilan promise ini, ada cara lain, yang mana
await = tunggu
setTimeout(() => {
resolve('Darmawan')
}, 5000);
})
};
this.setState({
text : name
});
};
maka hasilnya =
ZepiDarmawan
nah cara async await ini lebih masuk akal untuk dibaca dari pada
function callback.
melalui 3 cara
1.chaining then
2.promise all
3.async/await