AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Request Object Event Listener
Jika Anda tidak membuat dan meneruskan fungsi panggilan balik anonim sebagai parameter saat Anda memanggil metode objek layanan, pemanggilan metode menghasilkan AWS.Request objek yang harus dikirim secara manual menggunakan metodenyasend.
Untuk memproses respons, Anda harus membuat event viewer untuk AWS.Request objek untuk mendaftarkan fungsi callback untuk pemanggilan metode. Contoh berikut menunjukkan cara membuat AWS.Request objek untuk memanggil metode objek layanan dan event viewer untuk pengembalian yang berhasil.
// create the AWS.Request object var request = new AWS.EC2({apiVersion: '2014-10-01'}).describeInstances(); // register a callback event handler request.on('success', function(response) { // log the successful data response console.log(response.data); }); // send the request request.send();
Setelah send metode pada AWS.Request objek dipanggil, event handler dieksekusi ketika objek layanan menerima AWS.Response objek.
Untuk informasi selengkapnya tentang AWS.Request objek, lihat Class: AWS.Request di Referensi API. Untuk informasi selengkapnya tentang AWS.Response objek, lihat Menggunakan Objek Respon atau Class: AWS.Response di Referensi API.
Merantau Beberapa Panggilan Balik
Anda dapat mendaftarkan beberapa panggilan balik pada objek permintaan apa pun. Beberapa panggilan balik dapat didaftarkan untuk acara yang berbeda atau acara yang sama. Selain itu, Anda dapat melakukan rantai callback seperti yang ditunjukkan pada contoh berikut.
request. on('success', function(response) { console.log("Success!"); }). on('error', function(response) { console.log("Error!"); }). on('complete', function() { console.log("Always!"); }). send();
Minta Acara Penyelesaian Objek
Ob AWS.Request jek memunculkan peristiwa penyelesaian ini berdasarkan respons dari setiap metode operasi layanan:
successerrorcomplete
Anda dapat mendaftarkan fungsi callback sebagai respons terhadap salah satu peristiwa ini. Untuk daftar lengkap semua peristiwa objek permintaan, lihat Class: AWS.Request di Referensi API.
Acara Sukses
A success cara dimunculkan setelah respons berhasil diterima dari objek layanan. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('success', function(response) { // event handler code });
Respons menyediakan data properti yang berisi data respons serial dari layanan. Misalnya, panggilan berikut ke listBuckets metode objek layanan Amazon S3
s3.listBuckets.on('success', function(response) { console.log(response.data); }).send();
mengembalikan respons dan kemudian mencetak konten data properti berikut ke konsol.
{ Owner: { ID:'...', DisplayName:'...'}, Buckets: [ { Name:'someBucketName', CreationDate: someCreationDate }, { Name:'otherBucketName', CreationDate: otherCreationDate } ], RequestId:'...'}
Peristiwa kesalahan
Per error istiwa dimunculkan pada respons kesalahan yang diterima dari objek layanan. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('error', function(error, response) { // event handling code });
Ketika error peristiwa dinaikkan, nilai data properti respons adalah null dan error properti berisi data kesalahan. Ob error jek terkait diteruskan sebagai parameter pertama ke fungsi callback terdaftar. Misalnya, kode berikut:
s3.config.credentials.accessKeyId = 'invalid'; s3.listBuckets().on('error', function(error, response) { console.log(error); }).send();
mengembalikan kesalahan dan kemudian mencetak data kesalahan berikut ke konsol.
{ code:'Forbidden', message: null }
Acara Lengkap
Per complete istiwa dimunculkan ketika panggilan objek layanan selesai, terlepas dari apakah panggilan tersebut menghasilkan keberhasilan atau kesalahan. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('complete', function(response) { // event handler code });
Gunakan callback complete acara untuk menangani pembersihan permintaan apa pun yang harus dijalankan terlepas dari keberhasilan atau kesalahan. Jika Anda menggunakan data respons di dalam callback untuk complete acara tersebut, periksa terlebih dahulu response.data response.error properti atau sebelum mencoba mengakses salah satu, seperti yang ditunjukkan pada contoh berikut.
request.on('complete', function(response) { if (response.error) { // an error occurred, handle it } else { // we can use response.data here } }).send();
Meminta Acara HTTP Objek
Ob AWS.Request jek memunculkan peristiwa HTTP ini berdasarkan respons dari setiap metode operasi layanan:
httpHeadershttpDatahttpUploadProgresshttpDownloadProgresshttpErrorhttpDone
Anda dapat mendaftarkan fungsi callback sebagai respons terhadap salah satu peristiwa ini. Untuk daftar lengkap semua peristiwa objek permintaan, lihat Class: AWS.Request di Referensi API.
Acara HttpHeaders
A httpHeaders cara dimunculkan ketika header dikirim oleh server jarak jauh. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('httpHeaders', function(statusCode, headers, response) { // event handling code });
statusCodeParameter untuk fungsi callback adalah kode status HTTP. headersParameter berisi header respons.
Acara HttpData
A httpData cara dimunculkan untuk mengalirkan paket data respons dari layanan. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('httpData', function(chunk, response) { // event handling code });
Peristiwa ini biasanya digunakan untuk menerima respons besar dalam potongan ketika memuat seluruh respons ke dalam memori tidak praktis. Acara ini memiliki chunk parameter tambahan yang berisi sebagian data aktual dari server.
Jika Anda mendaftarkan panggilan balik untuk httpData acara tersebut, data properti respons berisi seluruh keluaran serial untuk permintaan tersebut. Anda harus menghapus pen httpData dengar default jika Anda tidak memiliki penguraian tambahan dan overhead memori untuk penangan bawaan.
Acara http UploadProgress dan DownloadProgress http
A httpUploadProgress cara dimunculkan ketika permintaan HTTP telah mengunggah lebih banyak data. Demikian pula, httpDownloadProgress acara dimunculkan ketika permintaan HTTP telah mengunduh lebih banyak data. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('httpUploadProgress', function(progress, response) { // event handling code }) .on('httpDownloadProgress', function(progress, response) { // event handling code });
progressParameter untuk fungsi callback berisi objek dengan byte yang dimuat dan total dari permintaan.
Acara HttpError
Per httpError istiwa dimunculkan ketika permintaan HTTP gagal. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('httpError', function(error, response) { // event handling code });
errorParameter untuk fungsi callback berisi kesalahan yang dilemparkan.
Acara HttpDone
A httpDone cara dimunculkan ketika server selesai mengirim data. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('httpDone', function(response) { // event handling code });