Pustaka klien LRO Azure Core untuk JavaScript - versi 3.4.0

Ini adalah implementasi default dari operasi jangka panjang di pustaka klien JavaScript Azure SDK yang berfungsi di browser dan NodeJS. Pustaka ini terutama dimaksudkan untuk digunakan dalam kode yang dihasilkan oleh pemancar TypeSpec@azure-tools/typespec-ts .

@azure/core-lro mengikuti Panduan Desain Azure SDK untuk Operasi Jangka Panjang

Tautan kunci:

Memulai Langkah Pertama

Lingkungan yang didukung saat ini

Instalasi

Paket ini terutama digunakan dalam kode yang dihasilkan dan tidak dimaksudkan untuk digunakan langsung oleh pengguna akhir.

Konsep utama

PollerLike

Poller adalah objek yang dapat melakukan polling operasi jangka panjang di server untuk statusnya sampai mencapai status terminal. Ini juga meluas Promise<TResult>, sehingga Anda bisa await langsung untuk mendapatkan hasil akhir. Azure Migrate menyediakan fitur-fitur berikut:

  • operationState: properti yang mengembalikan status operasi saat ini, diketik sebagai jenis yang memperluas OperationState. Itu jika undefined poller belum diajukan.
  • result: properti yang mengembalikan hasil operasi saat selesai dan undefined sebaliknya
  • isDone: properti yang mengembalikan apakah operasi dalam status terminal
  • onProgress: mendaftarkan fungsi panggilan balik yang akan dipanggil setiap kali respons polling diterima
  • poll: mengirimkan satu permintaan polling
  • pollUntilDone: mengembalikan janji yang akan diselesaikan dengan hasil operasi
  • serialize: mengembalikan janji yang diselesaikan menjadi representasi berseri dari negara bagian poller
  • submitted: mengembalikan janji yang diselesaikan saat poller berhasil dikirimkan

OperationState

Jenis untuk status operasi. Ini berisi status bidang dengan kemungkinan nilai berikut: notStarted, , running, succeededfailed, dan canceled. Ini dapat diakses sebagai berikut:

switch (poller.operationState?.status) {
  case "succeeded": // return poller.result;
  case "failed": // throw poller.operationState?.error;
  case "canceled": // throw new Error("Operation was canceled");
  case "running": // ...
  case "notStarted": // ...
}

createHttpPoller

Fungsi yang mengembalikan objek jenis PollerLike. Polling ini berulah sebagai berikut jika terjadi kesalahan:

  • panggilan ke poll dan pollUntilDone akan melemparkan kesalahan jika operasi gagal atau dibatalkan kecuali resolveOnUnsuccessful opsi diatur ke true.
  • poller.operationState?.status akan diatur ke "failed" atau "canceled" ketika operasi gagal atau mengembalikan respons kesalahan.

Contoh

Contoh dapat ditemukan di folder samples.

Pemecahan masalah

Penebangan kayu

Log dapat ditambahkan atas kebijakan pustaka yang mengimplementasikan poller Operasi Jangka Panjang. Paket di dalam azure-sdk-for-js menggunakan @azure/pencatat.

Langkah berikutnya

Silakan lihat sampel direktori untuk contoh terperinci tentang cara menggunakan pustaka ini.

Kontribusi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.

Uji coba

Untuk menjalankan pengujian kami, pertama-tama instal dependensi (dengan pnpm install), lalu jalankan pengujian unit dengan: pnpm run test:node.

Kode Etik

Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Kode Etik atau hubungi opencode@microsoft.com dengan pertanyaan atau komentar tambahan apa pun.