Saya telah menggunakan fitur ECMAScript 6 dan ECMAScript 7 (berkat Babel) di aplikasi saya - baik seluler maupun web.
Langkah pertama yang jelas adalah ECMAScript 6 level. Saya belajar banyak pola async, promise (yang benar-benar menjanjikan), generator (tidak yakin mengapa simbol *), dll. Dari semua ini, promise cukup sesuai untuk tujuan saya. Dan saya sudah cukup sering menggunakannya dalam aplikasi saya.
Berikut adalah contoh / pseudocode tentang bagaimana saya menerapkan janji dasar-
var myPromise = new Promise(
function (resolve,reject) {
var x = MyDataStore(myObj);
resolve(x);
});
myPromise.then(
function (x) {
init(x);
});
Seiring berjalannya waktu, saya menemukan fitur ECMAScript 7, dan salah satunya adalah ASYNC
dan AWAIT
kata kunci / fungsi. Ini dalam hubungannya melakukan keajaiban besar. Saya sudah mulai mengganti beberapa janji saya dengan async & await
. Mereka tampaknya memberi nilai tambah yang besar pada gaya pemrograman.
Sekali lagi, berikut adalah pseudocode tentang bagaimana fungsi async, await saya terlihat-
async function myAsyncFunction (myObj) {
var x = new MyDataStore(myObj);
return await x.init();
}
var returnVal = await myAsyncFunction(obj);
Mengesampingkan kesalahan sintaks (jika ada), keduanya melakukan hal yang persis sama adalah apa yang saya rasakan. Saya hampir bisa mengganti sebagian besar janji saya dengan async, tunggu.
Mengapa async, menunggu diperlukan saat promise melakukan pekerjaan serupa?
Apakah asinkron, menunggu menyelesaikan masalah yang lebih besar? Atau apakah itu hanya solusi berbeda untuk menelepon balik neraka?
Seperti yang saya katakan sebelumnya, saya dapat menggunakan promise dan async, menunggu untuk menyelesaikan masalah yang sama. Apakah ada hal khusus yang menunggu penyelesaian async?
Catatan tambahan:
Saya telah menggunakan async, menunggu dan janji dalam proyek React dan modul Node.js saya secara ekstensif. React khususnya telah menjadi yang pertama dan mengadopsi banyak fitur ECMAScript 6 dan ECMAScript 7.