Tutorial ini menjelaskan
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
1 loop Nodejs tanpa menganggap Anda memahami konsep promise, looping, dan timerIni dibagi menjadi empat bagian. bagaimana JavaScript membaca kode Anda, konsep janji, loop, dan kebutuhan kode asinkron dalam
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
2 loop dan implementasi const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
3 while loop Nodejs langkah demi langkahMari kita mulai
Bagian 1. Bagaimana mesin JavaScript membaca kode Anda?
Mesin JavaScript membaca kode Anda dari atas ke bawah. Jika bagian kode membutuhkan waktu lebih lama untuk dieksekusi, bagian kode berikutnya akan menunggu lebih lama untuk dijalankan. Perilaku itu disebut sinkron
Namun, dengan bantuan fungsi callback, timer API, dan promise, Anda dapat membuat kode JavaScript berjalan secara asinkron. Ini sebuah contoh
Asumsikan Anda memiliki dua perhitungan
console.log[2 + 3]
console.log[3 + 5]
Saat Anda menjalankan kode, terminal mencetak 5 diikuti oleh 8. Bagaimana jika Anda ingin melihat 8 sebelum 5?
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
4 API menerima fungsi sebagai input dan menjalankannya setelah jumlah milidetik yang ditentukan. Dalam contoh di atas, kami menjalankan fungsi const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
6 dan const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
7 yang mencetak output 2 + 3 dan 3 + 5 setelah masing-masing 2000 milidetik dan 1000 milidetikIklan
Karena JavaScript tidak menunggu perhitungan tertunda di fungsi
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
6, JavaScript akan menjalankan fungsi kedua saat fungsi pertama belum selesai dijalankanBACA JUGA. Cara menambahkan item ke array di Node. js [SOLVED]
Kontrol alur program dengan fungsi callback
Seperti berdiri, kedua fungsi berjalan secara independen satu sama lain. Namun demikian, kita dapat membuat perhitungan pertama bergantung pada perhitungan kedua sehingga Anda tidak akan melihat hasil pertama saat fungsi kedua belum selesai dieksekusi
const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
Penundaan eksekusi
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
_9 akan mencegah const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
0 dieksekusi karena fungsi pertama tidak dapat dijalankan tanpa parameternya. const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
_1 dan fungsi const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
2Fungsi yang diterima sebagai parameter ke fungsi lain disebut fungsi
const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
2. Itu hanya menyiratkan, "Lakukan sesuatu dan hubungi saya kembali ketika Anda selesai. "Kode di atas tidak akan dapat dipertahankan jika kita melakukan perhitungan panjang yang mengarah ke penyatuan beberapa callback. Itu panggilan untuk memahami peran janji di
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
3 while loop perhitungan Nodejs
Seksi 2. Pahami janji sebelum menerapkan async saat mengulang Nodejs
Cara paling umum untuk membuat kode JavaScript sinkron berjalan secara asinkron adalah dengan menggunakan
const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
5 APIInterpretasi paling langsung dari janji dalam JavaScript adalah, "Saya berjanji untuk mengeksekusi kode yang diberikan. Jika janji tersebut diselesaikan, gunakan data yang dikembalikan untuk bagian selanjutnya dari perhitungan Anda. Jika saya gagal memenuhi janji saya, saya akan menolak pesanan dengan pesan kesalahan. "
Objek
const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
_5 mengambil fungsi panggilan balik dengan dua argumen [metode]. const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
7 dan const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
8. Fungsi const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
_7 berjalan ketika proses yang diharapkan selesai dengan sukses, sedangkan fungsi const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
8 menangkap kesalahan yang mungkin terjadi selama eksekusi kodeIklan
const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
Anda kemudian dapat menangani output menggunakan
const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
1computation[]
.then[ result => console.log[result]] // Print the output on success.
.catch[ error => console.log[error]] // otherwise, print the error message.
atau
const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
2const showOutput = async [] => {
const data = await computation[]
console.log[data]
}
showOutput[]
Sintaks
const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
_3 adalah alternatif untuk menggabungkan beberapa const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
4s atau const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
5 dan satu fungsi const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
6BACA JUGA. Cara mendapatkan semua file dalam direktori di Node. js [Contoh Praktis]
const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
_3 selalu berjalan dalam suatu fungsi. Fungsi seperti itu dikatakan asinkron, meskipun Anda [sebagai programmer] menulis kode seolah-olah Anda sedang menulis kode sinkronAnda tidak perlu selalu membuat fungsi
const firstFunction = [firstCalculation, callback] => {
console.log[firstCalculation]
callback[]
}
const secondCalCulation = [] => console.log[3 + 5]
const secondFunction = [] => setTimeout[secondCalCulation, 1000]
firstFunction[2 + 3, secondFunction]
5 karena sebagian besar modul Nodejs dan API dibuat untuk berjalan secara asinkronMari kita pahami konsep perulangan sebelum mengimplementasikan secara praktis
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
3 while loop NodejsIklan
Bagian-3. Peran kode asinkron dalam perulangan while
Anda mungkin bertanya-tanya alasan menjalankan kode di
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
3 while loop Nodejs. Mungkin ada banyak alasan untuk mencoba mengulang kode asinkronSalah satu alasan utamanya adalah mengambil banyak sumber daya dalam lingkungan yang terkendali. Akan lebih baik jika Anda membiasakan diri dengan loop sebelum melakukan itu
Loop adalah bagian dari kode yang mengulangi kode tertentu selama kondisinya benar
Tiga loop utama dalam JavaScript adalah
computation[]
.then[ result => console.log[result]] // Print the output on success.
.catch[ error => console.log[error]] // otherwise, print the error message.
1, const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
2, dan computation[]
.then[ result => console.log[result]] // Print the output on success.
.catch[ error => console.log[error]] // otherwise, print the error message.
3 loop. computation[]
.then[ result => console.log[result]] // Print the output on success.
.catch[ error => console.log[error]] // otherwise, print the error message.
_1 loop terutama digunakan ketika jumlah pengulangan diketahuifor [let i = 1; i < 11; i++] {
//do something 10 times
}
Di sisi lain,
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
_2 loop terutama digunakan ketika jumlah pengulangan tidak diketahui di awal. Misalnya, Anda mungkin tidak yakin tentang jumlah postingan yang akan diposting saat pengguna mengunjungi aplikasi Anda// Initially there are no posts to read.
let posts = []
// A method to create posts
const createPost = [post] => {
posts.push[post]
}
// A method to read posts.
const readPost = [] => {
let counter = 0
while [counter < posts.length] {
console.log[posts[counter]]
counter++
}
}
// create three posts
createPost['Post one']
createPost['Post two']
createPost['Post three']
// Now, we have posts to loop through and read.
readPost[]
Loop
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
2 dibagi menjadi initializer, condition, dan increment- Penginisialisasi menandai titik awal perulangan. Misalnya, mulailah menghitung di pos pertama
- Kondisi menentukan kapan harus berhenti mengulang. Misalnya, ulangi blok kode selama jumlah posting kurang dari nilai penghitung
- Peningkatan/penurunan membawa kita ke putaran perulangan berikutnya. Misalnya, kami menambah dan menetapkan ulang nilai penghitung hingga sama dengan jumlah kiriman
BACA JUGA. Cara membuat ID unik dengan node. js [Nodejs UUID]
Sekarang setelah Anda memahami pemrograman asinkron dan
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
2 loop, mari kita lihat bagaimana menggabungkan kedua konsep tersebut
Penyiapan lab untuk mempraktikkan Async while loop di Nodejs
Instal Nodejs versi terbaru, lalu buka terminal Anda dan buat dua file
touch file1.js file2.js
Buka file menggunakan editor kode seperti Visual Studio Code
Sekarang mari terapkan
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
1 loop Nodejs dengan contoh berikutIklan
Bagian-4. Contoh Async while loop Nodejs
Contoh 1. Loop penundaan
Asumsikan Anda ingin mencetak 10 ID kiriman setelah milidetik yang ditentukan. Karena eksekusi
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
4 API dijalankan langsung di dalam loop akan ditangguhkan, kita dapat menggunakan rekursi atau const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
3 while loop Nodejs sebagai berikutBuka
const showOutput = async [] => {
const data = await computation[]
console.log[data]
}
showOutput[]
_1 dan tambahkan kode berikutconst delayExecution = [ms] => {
return new Promise[[resolve, reject] => {
setTimeout[[] => {
resolve[]
}, ms]
}]
}
const showIDs = async [] => {
let counter = 1
while [counter {
const data = await computation[]
console.log[data]
}
showOutput[]
_2 mengembalikan janji yang menyelesaikan const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
4 setelah const showOutput = async [] => {
const data = await computation[]
console.log[data]
}
showOutput[]
4 detik yang diterima fungsi setiap kali kita mengulang melalui 1 hingga 5 dalam fungsi asinkron const showOutput = async [] => {
const data = await computation[]
console.log[data]
}
showOutput[]
5Mari kita lihat contoh lain, di mana
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
3 while loop Nodejs menangani data API eksternal
Contoh-2. Async while loop Nodejs dengan data API eksternal
Asumsikan Anda hanya ingin mengambil 10 judul postingan pertama dari postingan API JSONPlaceholder. Buka
const showOutput = async [] => {
const data = await computation[]
console.log[data]
}
showOutput[]
_7 dan tulis kode berikutconst firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
0Kami mendapatkan data menggunakan fungsi asinkron
const showOutput = async [] => {
const data = await computation[]
console.log[data]
}
showOutput[]
8 dengan menerapkan Nodejs fetch API [tersedia di Node. js versi 17. 5+]BACA JUGA. SELESAI. Dapatkan jalur direktori skrip di Node. js [4 Metode]
Kami kemudian mengonversi data [JSON] menjadi objek [array] untuk perulangan yang lebih mudah. Selanjutnya, kami mencetak setiap judul posting bernomor. Terakhir, kita memanggil fungsi
const showOutput = async [] => {
const data = await computation[]
console.log[data]
}
showOutput[]
_8 dan melihat hasilnya di keluaran konsol
Kesimpulan
Pengetahuan tentang
const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
3 while loop Nodejs membantu Anda mengontrol kapan dan bagaimana Anda menerima data. Seperti yang ditunjukkan dalam tutorial ini, akan lebih baik untuk memahami secara mendalam pemrograman asinkron, loop, dan kebutuhan untuk menjalankan kode asinkron di dalam const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
2 loop sebelum menggunakan const computation = [] => {
return new Promise[ [resolve, reject] => {
let doSomething = true
doSomething ? resolve['Done!'] : reject['Failed to execute your request']
}]
}
3 dengan const firstCalCulation = [] => console.log[2 + 3]
const secondCalCulation = [] => console.log[3 + 5]
setTimeout[firstCalCulation, 2000]
setTimeout[secondCalCulation, 1000]
2 loop