Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan await dalam nodejs

Cara menggunakan await dalam nodejs

WBOY
WBOYasal
2022-06-29 15:54:124081semak imbas

Dalam nodej, await digunakan untuk menjeda pelaksanaan secara tidak menyekat, menunggu permintaan tak segerak bagi janji dan menunggu kaedah tak segerak untuk menyelesaikan pelaksanaan boleh digunakan dalam fungsi async untuk menunggu untuk pengembalian fungsi async Nilai; janji mengembalikan penolakan yang tidak berjaya, dan nilai penolakan akan dibuang dan boleh ditangkap dengan "cuba/tangkap".

Cara menggunakan await dalam nodejs

Persekitaran pengendalian artikel ini: sistem Windows 10, nodejs versi 12.19.0, komputer Dell G3.

Cara menggunakan await dalam nodejs

Penggunaan async/wait telah diperkenalkan dalam Node.js 7 malam, tetapi ia hanya mungkin untuk mengaktifkan fungsi async/wait secara rasmi dalam Node.js 8 dan Javascript V8.

Apakah async/menunggu? Cara melaksanakan operasi tak segerak menggunakan Promise pada masa lalu Kes berikut menunjukkan cara menggunakan Promise dan Fetch API untuk menangkap data:

function getTrace () { 
return fetch('https://www.jdon.com', { 
method: 'get' 
}) 
} 
getTrace() 
.then() 
.catch()

Menggunakan async/menunggu, anda boleh menjeda pelaksanaan tanpa menyekat. dan tunggu hasilnya, jika janji mengembalikan penolakan yang tidak berjaya, nilai penolakan akan dibuang dan boleh ditangkap dengan cuba/tangkap. Kes di atas boleh ditulis seperti berikut menggunakan async/await:

function async getTrace () { 
let pageContent
try { 
pageContent = await fetch('https://www.jdon.com', { 
method: 'get' 
}) 
} catch (ex) { 
console.error(ex) 
} 
return pageContent
} 
getTrace() 
.then()

Mari kita lihat kes menggunakan async/wait dalam Node.js, menggunakan setimeout untuk melambatkan pelaksanaan fungsi dan menggunakan async /await enkapsulasi:

// app.js
const timeout = function (delay) { 
return new Promise((resolve, reject) => { 
setTimeout(() => { 
resolve() 
}, delay) 
}) 
} 
async function timer () { 
console.log('timer started') 
await Promise.resolve(timeout(100)); 
console.log('timer finished') 
} 
timer()

Buat fail app.js ini dan jalankan:

node app.js

Jika ia tidak dapat dijalankan, mungkin nodejs ialah versi setiap malam dan tidak menyokong secara rasmi async/wait Command Apa yang perlu dilakukan:

node --harmony-async-await app.js

Pembelajaran yang disyorkan: "tutorial video nodejs<.>"

Atas ialah kandungan terperinci Cara menggunakan await dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah modulariti dalam nodejsArtikel seterusnya:Apakah modulariti dalam nodejs