SNS istemcisindeki (PHP için AWS SDK) sözümü kullanmaya çalışıyorum ama işe yaramıyor.AWS SDK için Promise PHP çalışmıyor ve hata geri dönüşü yok
require 'aws/aws-autoloader.php';
use GuzzleHttp\Promise;
use Aws\Sns\SnsClient;
$client = new SnsClient([
'version' => 'latest',
'region' => 'ap-northeast-1',
'credentials' => [
'key' => 'xxx',
'secret' => 'xxx',
],
]);
$result = $client->createTopic(['Name' => "test"]);
echo $result->get('TopicArn');
Ama kullanım fonksiyonu createTopicAsync tarafından söz (asenkron şekilde) kullanmak istediğinizde:
$result = $client->createTopicAsync(['Name' => "test"]);
$result->then(
function ($value) {
echo "The promise was fulfilled with {$value}";
},
function ($reason) {
echo "The promise was rejected with {$reason}";
}
);
Olmuyor Bu kod (senkron yön) sağ işlevi createTopic ile çalışmak ve hiçbir şey olmadı, hata dönüşü yok. Neyin yanlış olabileceğini bilen var mı? aşağıdaki satırı ekleyerek
Teşekkür ederiz. Ancak wait() işlevi, bir sözün tamamlanması için zorlamak için kullanılır. İstediğim şey bu değil. Herhangi bir fikri olan var mı? – hiepns
O zaman tam olarak ne elde etmek istediğinizi tanımlamalısınız. Birden fazla eşzamanlı çağrı yapacaksanız, her işlem için ayrı bir söz oluşturmanız ve daha sonra sözlerin tamamlanması için beklemeniz gerekir. Yani yine de wait() çağırmanız gerekecek. – xtx
Çoklu asenkron işlemleri yürütme örneği eklendi – xtx