Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Apakah kegunaan janji dalam es6

Apakah kegunaan janji dalam es6

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2022-03-30 16:48:40
asal
2429 orang telah melayarinya

Dalam es6, promise digunakan untuk mencipta objek janji dan melaksanakan operasi tak segerak ialah "const promise = new Promise((resolve,reject)=>{...})"; Status operasi digunakan untuk mewakili hasil yang berbeza bagi operasi tak segerak.

Apakah kegunaan janji dalam es6

Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.

Apakah kegunaan promise dalam es6

Promise ialah penyelesaian pengaturcaraan tak segerak yang disediakan dalam ES6 Promise sendiri ialah pembina

typeof Promise  //  function
Salin selepas log masuk

Secara amnya kami Dalam pembangunan, baru. Promise() akan digunakan untuk memanggil pembina dan mencipta objek Promise baharu

Cipta objek Promise untuk operasi tak segerak

Promise juga merupakan pembina dan keperluan Gunakan kata kunci baharu untuk mencipta contoh, yang menerima fungsi apabila dibuat, dan fungsi itu mempunyai dua parameter jenis fungsi:

  • selesaikan

  • tolak

Jadi operasi mencipta Janji ialah:

const promise = new Promise((resolve,reject)=>{...})
Salin selepas log masuk

Dua parameter fungsi menyelesaikan dan menolak menentukan perubahan status Janji semasa dan cara mengendalikan hasil operasi tak segerak , semuanya boleh lulus keputusan operasi tak segerak.

1. Keadaan objek tidak dipengaruhi oleh dunia luar.

Objek Promise ialah operasi tak segerak dan mempunyai tiga keadaan: belum selesai (sedang berjalan), dipenuhi (berjaya) dan ditolak (gagal).

Hanya hasil daripada operasi tak segerak boleh menentukan keadaan Promise dan tiada operasi lain boleh mengubah keadaan ini

2 Sebaik sahaja keadaan Promise berubah, tidak akan ada lebih banyak perubahan, dan keputusan ini boleh diperolehi pada bila-bila masa.

Hanya ada dua kemungkinan untuk keadaan objek Janji berubah: daripada belum selesai kepada dipenuhi atau daripada belum selesai kepada ditolak. Selagi dua situasi ini berlaku, status tidak akan berubah dan akan sentiasa mengekalkan keputusan ini. Ini dipanggil diselesaikan. Jika perubahan telah berlaku, jika anda menambah fungsi panggil balik pada objek Promise, anda akan mendapat keputusan serta-merta. Ini berbeza daripada acara. Ciri acara ialah jika anda terlepas dan mendengar lagi, anda tidak akan mendapat hasilnya

Kelebihan menggunakan Promise ialah apabila memproses program tak segerak, operasi tak segerak akan menjadi Beratur, melaksanakan dalam susunan yang dijangkakan dan mengembalikan hasil yang dijangkakan, supaya walaupun dengan beberapa operasi tak segerak, Promise boleh digunakan dengan mudah untuk panggilan berantai

3. Promise juga mempunyai beberapa kelemahan.

Pertama sekali, Janji tidak boleh dibatalkan Sebaik sahaja ia dibuat, ia akan dilaksanakan serta-merta dan tidak boleh dibatalkan di tengah jalan. Kedua, jika anda tidak menetapkan fungsi panggil balik, ralat yang dilemparkan secara dalaman oleh Promise tidak akan ditunjukkan secara luaran. Ketiga, apabila ia berada dalam keadaan tertunda, adalah mustahil untuk mengetahui tahap kemajuan semasa (baru bermula atau hampir selesai)

Apa yang dipanggil Janji hanyalah sebuah bekas, yang memegang tertentu. masa depan yang akan berakhir Hasil daripada peristiwa (biasanya operasi tak segerak).

ES6 menetapkan bahawa objek Promise ialah pembina yang digunakan untuk menjana contoh Promise.

Kod berikut mencipta contoh Promise.

const promise = new Promise(function(resolve, reject) {
  // ... some code
  if (/* 异步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});
Salin selepas log masuk

Pembina Promise menerima fungsi sebagai parameter Dua parameter fungsi ialah menyelesaikan dan menolak. Ia adalah dua fungsi yang disediakan oleh enjin JavaScript dan tidak perlu digunakan sendiri.

Fungsi fungsi resolusi adalah untuk menukar status objek Promise daripada "belum selesai" kepada "berjaya" (iaitu, daripada belum selesai kepada diselesaikan, ia dipanggil apabila operasi tak segerak berjaya, dan hasil daripada operasi tak segerak ialah Keluarkannya sebagai parameter fungsi fungsi tolak adalah untuk menukar status objek Promise daripada "belum selesai" kepada "gagal" (iaitu, daripada belum selesai kepada ditolak), dan dipanggil apabila operasi tak segerak gagal, dan ralat yang dilaporkan oleh operasi tak segerak ialah , diluluskan sebagai parameter.

Selepas contoh Promise dijana, anda boleh menggunakan kaedah kemudian untuk menentukan fungsi panggil balik masing-masing untuk keadaan diselesaikan dan keadaan ditolak.

promise.then(function(value) {
  // success
}, function(error) {
  // failure
});
Salin selepas log masuk

Kemudian kaedah boleh menerima dua fungsi panggil balik sebagai parameter. Fungsi panggil balik pertama dipanggil apabila keadaan objek Promise diselesaikan, dan fungsi panggil balik kedua dipanggil apabila keadaan objek Promise ditolak. Antaranya, fungsi kedua adalah pilihan dan tidak perlu disediakan. Kedua-dua fungsi menerima nilai yang diluluskan oleh objek Promise sebagai parameter.

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

Atas ialah kandungan terperinci Apakah kegunaan janji dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
es6
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan