Node Async Await Contoh: Panduan Lengkap – Codewithaden

ES 2017 diperkenalkan Asinkron fungsi. Fungsi async adalah cara yang lebih bersih untuk bekerja dengan kode asinkron di JavaScript. Sebagai contoh Anda dapat menyederhanakan panggilan balik atau berbasis janji Anda Node.js Aplikasi dengan fungsi async menggunakan async-aak.

Async Konstruksi bahasa telah ada dalam bahasa lain, seperti Async/Await di C#, Coroutine di Kotlin, dan Goroutine di Go. Dengan rilis Node.js versi 8, fungsi async yang telah lama ditunggu-tunggu telah mendarat di Node.js juga. Sebelum kita memahami async-ahait di node.js, mari kita menyelami apa dan mengapa kita menggunakan Async-Await di tempat pertama.

Async/menunggu di node.js

  • Ini adalah cara terbaru untuk menulis kode asinkron di JavaScript.
  • Ini tidak memblokir (seperti panggilan balik dan janji).
  • Async/menunggu dibuat untuk menyederhanakan bekerja dengan dan menulis janji -janji rantai.
  • Fungsi async mengembalikan janji. Jika fungsi melempar kesalahan, janji akan ditolak secara otomatis, dan jika fungsi mengembalikan nilai, itu berarti janji akan diselesaikan.

Sintaks fungsi async

Kita perlu menambahkan async kata kunci sebelum a fungsi.

// Normal Function
function add(a,b){
  return a + b;
}
// Async Function
async function add(a,b){
  return a + b;
} 

Deklarasi fungsi async mengembalikan objek async. Ini mirip dengan Generator Karena eksekusi mereka dapat dijeda. Satu -satunya perbedaan mendasar adalah bahwa mereka selalu menghasilkan a Janji bukannya a {value: any, selesai: boolean} obyek.

Sekarang, mari kita ambil contoh sederhana Janji

Tapi sebelum itu, silakan periksa Node.js Versi: kapan. Versi saya adalah v9.8.0. Jadi, saya bisa menggunakan Async-Await fitur. Jika Node.js Anda belum memiliki versi terbaru, silakan perbarui untuk versi terbaru.

Sekarang, buat folder proyek.

mkdir node-examples 

Masuk ke folder proyek.

cd node-examples 

Sekarang, buat package.json file menggunakan perintah berikut.

npm init -y 

Instal server Nodemon menggunakan perintah berikut.

npm install nodemon --save 

Buat file baru yang dipanggil server.js di dalam akar. Tulis kode berikut di dalamnya.

// server.js

function square(x) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(Math.pow(x, 2));
    }, 2000);
  });
}

square(10).then(data => {
  console.log(data);
}); 

Langkah selanjutnya adalah memulai server Nodemon menggunakan perintah berikut.

nodemon server 

Jadi, selanjutnya dua detik, kita dapat melihat kuadrat 10. Function Square mengembalikan janji, dan setelah menyelesaikan janji itu, kita mendapatkan data kuadrat kita.

Beralih dari janji ke async/menunggu.

Oke, sekarang ubah kode di atas menjadi async/menunggu fungsi.

// server.js

function square(x) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(Math.pow(x, 2));
    }, 2000);
  });
}

async function layer(x)
{
  const value = await square(x);
  console.log(value);
}

layer(10); 

Node

Async/menunggu dalam permintaan jax

Untuk menggunakan a async/menunggu metode dalam Node.js permintaan Ajax , menggunakan Perpustakaan Node-Fetch . Pertama, kita perlu menginstal node.js Perpustakaan khusus klien untuk mengirim permintaan AJAX. Kami menggunakan Node-Fetch Perpustakaan.

npm install node-fetch --save 

Kita dapat menggunakan fungsi async-ahait seperti yang berikut untuk permintaan AJAX.

// server.js

const fetch = require('node-fetch');

async function asyncajaxawait(x)
{
  const res = await fetch('https://api.github.com/users/KrunalLathiya')
  const data = await res.json();
  console.log(data.name);
}

asyncajaxawait(10); 

Kami telah menggunakan Node-Fetch Perpustakaan untuk mengirim permintaan AJAX ke API GitHub dan dapatkan tanggapannya. Itu adalah penggunaan langsung Async-Await. Jadi, kami telah melihat hampir semua kasus penggunaan fitur async-await. Anda dapat menemukan lebih banyak tentang async/menunggu dalam hal ini tautan . Akhirnya, Node async menunggu contoh tutorial sudah selesai. Terima kasih telah mengambilnya.

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *