Pemrograman asinkron menggunakan Versi 3 AWS SDK untuk PHP - AWS SDK untuk PHP

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemrograman asinkron menggunakan Versi 3 AWS SDK untuk PHP

Anda dapat mengirim perintah secara bersamaan menggunakan fitur asinkron SDK. Anda dapat mengirim permintaan secara asinkron dengan akhiran nama operasi dengan. Async Ini memulai permintaan dan mengembalikan janji.

Janji dipenuhi dengan objek hasil pada keberhasilan atau ditolak dengan pengecualian pada kegagalan. Ini memungkinkan Anda untuk membuat beberapa janji dan meminta mereka mengirim permintaan HTTP secara bersamaan ketika penangan HTTP yang mendasari mentransfer permintaan.

Impor

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Kode Sampel

// Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk([ 'region' => 'us-west-2' ]); // Use an Aws\Sdk class to create the S3Client object. $s3Client = $sdk->createS3(); //Listing all S3 Bucket $CompleteSynchronously = $s3Client->listBucketsAsync(); // Block until the result is ready. $CompleteSynchronously = $CompleteSynchronously->wait();

Anda dapat memaksakan janji untuk menyelesaikan secara serempak dengan menggunakan wait metode janji. Memaksa janji untuk menyelesaikan juga “membuka” status janji secara default, yang berarti itu akan mengembalikan hasil janji atau membuang pengecualian yang ditemui. Saat memanggil wait() janji, proses memblokir sampai permintaan HTTP selesai dan hasilnya diisi atau pengecualian dilemparkan.

Saat menggunakan SDK dengan pustaka loop peristiwa, jangan blokir hasil. Sebagai gantinya, gunakan then() metode hasil untuk mengakses janji yang diselesaikan atau ditolak saat operasi selesai.

Impor

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Kode Sampel

// Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk([ 'region' => 'us-west-2' ]); // Use an Aws\Sdk class to create the S3Client object. $s3Client = $sdk->createS3();
$promise = $s3Client->listBucketsAsync(); $promise ->then(function ($result) { echo 'Got a result: ' . var_export($result, true); }) ->otherwise(function ($reason) { echo 'Encountered an error: ' . $reason->getMessage(); });