php – 同步返回AWS SDK承诺的结果?
发布时间:2020-12-13 17:01:36 所属栏目:PHP教程 来源:网络整理
导读:我正在使用AWS SDK并有一个承诺: public function foo(){ ... $pool = new CommandPool($client,$commands,[ .... ]); $promise = $pool-promise(); $result = $promise-wait(); $promise-then(function () { return 'ok'; });} 如何从foo同步返回promise的
我正在使用AWS SDK并有一个承诺:
public function foo(){ ... $pool = new CommandPool($client,$commands,[ .... ]); $promise = $pool->promise(); $result = $promise->wait(); $promise->then(function () { return 'ok'; }); } 如何从foo同步返回promise的结果? 我试过了: return $promise->then(function () { return 'ok'; }); 但这会返回promise本身,而不是’ok’,并导致我的框架出错: The Response content must be a string or object implementing __toString(),"object" given. 解决方法
AWS开发工具包使用guzzle / promises,可以使用wait方法同步解析它们:
return $promise->then(function () { return 'ok'; })->wait(); 见https://github.com/guzzle/promises#synchronous-wait和http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/promises.html. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |