Kami mengumumkan
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 callback anonim sebagai parameter saat Anda memanggil metode objek layanan, panggilan metode menghasilkan AWS.Request
objek yang harus dikirim secara manual menggunakan send
metodenya.
Untuk memproses respons, Anda harus membuat event listener 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 pendengar acara 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 mengeksekusi ketika objek layanan menerima objekAWS.Response
.
Untuk informasi lebih lanjut tentang AWS.Request
objek, lihat Class: AWS.Request
di API Referensi. Untuk informasi lebih lanjut tentang AWS.Response
objek, lihat Menggunakan Response Object atau Class: AWS.Response
di API Referensi.
Merantai Beberapa Panggilan Balik
Anda dapat mendaftarkan beberapa callback pada objek permintaan apa pun. Beberapa panggilan balik dapat didaftarkan untuk acara yang berbeda atau acara yang sama. Selain itu, Anda dapat menghubungkan 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();
Permintaan Acara Penyelesaian Objek
AWS.Request
Objek memunculkan peristiwa penyelesaian ini berdasarkan respons dari setiap metode operasi layanan:
success
error
complete
Anda dapat mendaftarkan fungsi callback dalam menanggapi salah satu peristiwa ini. Untuk daftar lengkap semua peristiwa objek permintaan, lihat Class: AWS.Request
di API Referensi.
Acara Sukses
success
Acara ini diangkat setelah respons yang 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
error
Acara ini 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
acara dinaikkan, nilai data
properti respon adalah null
dan error
properti berisi data kesalahan. error
Objek 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
complete
Acara dimunculkan ketika panggilan objek layanan telah 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 dulu response.error
properti response.data
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();
Permintaan Objek HTTP Acara
AWS.Request
Objek memunculkan HTTP peristiwa ini berdasarkan respons dari setiap metode operasi layanan:
httpHeaders
httpData
httpUploadProgress
httpDownloadProgress
httpError
httpDone
Anda dapat mendaftarkan fungsi callback dalam menanggapi salah satu peristiwa ini. Untuk daftar lengkap semua peristiwa objek permintaan, lihat Class: AWS.Request
di API Referensi.
httpHeaders Acara
httpHeaders
Acara ini dinaikkan 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 });
statusCode
Parameter untuk fungsi callback adalah kode HTTP status. headers
Parameter berisi header respons.
httpData Acara
httpData
Acara ini dinaikkan 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 });
Acara ini biasanya digunakan untuk menerima respons besar dalam potongan saat memuat seluruh respons ke dalam memori tidak praktis. Acara ini memiliki chunk
parameter tambahan yang berisi sebagian data aktual dari server.
Jika Anda mendaftarkan callback untuk httpData
acara tersebut, data
properti respons berisi seluruh keluaran serial untuk permintaan tersebut. Anda harus menghapus httpData
pendengar default jika Anda tidak memiliki parsing tambahan dan overhead memori untuk penangan bawaan.
httpUploadProgress dan httpDownloadProgress Peristiwa
httpUploadProgress
Acara dimunculkan ketika HTTP permintaan telah mengunggah lebih banyak data. Demikian pula, httpDownloadProgress
acara dinaikkan ketika HTTP permintaan 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 });
progress
Parameter ke fungsi callback berisi objek dengan byte yang dimuat dan total permintaan.
httpError Acara
httpError
Acara dinaikkan ketika HTTP permintaan gagal. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('httpError', function(error, response) { // event handling code });
error
Parameter ke fungsi callback berisi kesalahan yang dilemparkan.
httpDone Acara
httpDone
Acara ini dinaikkan ketika server selesai mengirim data. Berikut adalah cara Anda mendaftarkan fungsi callback untuk acara ini.
request.on('httpDone', function(response) { // event handling code });