我尝试使用Guzzle 6(最新版)以异步方式发布数据
$client = new Client();
$request = $client->postAsync($url, [
'json' => [
'company_name' => 'update Name'
],
]);
Run Code Online (Sandbox Code Playgroud)
但是我没有收到像在终端上发布请求那样的任何请求表格
因为这是一个promise,你需要把then
除非你放,否则承诺不会被调用 $promise->wait()
这是postAsync根据您的问题使用的简单帖子请求:
$client = new Client();
$promise = $client->postAsync($url, [
'json' => [
'company_name' => 'update Name'
],
])->then(
function (ResponseInterface $res){
$response = json_decode($res->getBody()->getContents());
return $response;
},
function (RequestException $e) {
$response = [];
$response->data = $e->getMessage();
return $response;
}
);
$response = $promise->wait();
echo json_encode($response);
Run Code Online (Sandbox Code Playgroud)
小智 4
您是否尝试过发送请求?
http://guzzle.readthedocs.org/en/latest/index.html?highlight=async
$client = new Client();
$request = new Request('POST', $url, [
"json" => [
'company_name' => 'update Name']
]);
$promise = $client->sendAsync($request)->then(function ($response) {
echo 'I completed! ' . $response->getBody();
});
$promise->wait();
Run Code Online (Sandbox Code Playgroud)