阅读量:0
在PHP中,Promise对象是一个表示异步操作的占位符,它可以在未来的某个时间点返回处理结果。Promise对象通常与异步操作一起使用,比如通过异步调用API获取数据等。
要使用Promise对象,首先需要实例化一个Promise对象,并传入一个执行器函数,该执行器函数会在Promise对象被创建时立即执行。在执行器函数中,通常会执行一些异步操作,比如通过curl请求API获取数据。
$promise = new Promise(function (callable $resolve, callable $reject) { // 异步操作,比如通过curl请求API获取数据 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://example.com/api"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); // 根据异步操作的结果调用resolve或reject函数 if ($data) { $resolve($data); } else { $reject("Error fetching data"); } }); $promise->then(function ($data) { echo "Data received: " . $data; })->otherwise(function ($error) { echo "Error: " . $error; });
在上面的示例中,首先实例化一个Promise对象,并在执行器函数中执行一个异步操作(通过curl请求API获取数据)。根据异步操作的结果,调用resolve或reject函数。通过调用then方法和otherwise方法,可以分别处理成功和失败的情况。