byancode / promise
此包最新版本(dev-main)没有可用的许可证信息。
Promise 异步
dev-main
2021-05-28 00:40 UTC
This package is auto-updated.
Last update: 2024-09-28 08:17:50 UTC
README
安装
您可以通过 composer 安装此包
composer require byancode/promise
用法
use Byancode\RequestCurl; use Byancode\Promise; new Promise(function ($promise) { if (true) { echo 'hola mundo'; $promise->resolve([ 'success' => true ]); echo 'esto no se imprime'; } else { echo 'se produjo un error'; $promise->reject('es un error'); echo 'esto no se imprime'; } })->then(function ($data) { print_r($data) })->catch(function ($message) { echo $message; });
请求 promise
Promise::create(function ($promise) { RequestCurl::http()->get( 'http://google.com/', )->then(function($content) use ($promise) { $content = str_replace('div', 'my-div'); $promise->resolve($content); })->catch(function() use ($promise) { $promise->reject('se produjo un error'); }); })->then(function ($data) { print_r($data) })->catch(function ($message) { echo $message; })->run();
请求并跟踪 promise
RequestCurl::trace(function(){ new Promise(function ($promise) { RequestCurl::http()->get( 'http://google.com/', )->then(function($content) use ($promise) { $promise->wrap(function($promise) use ($content) { $content = str_replace('div', 'my-div'); $promise->resolve($content); }); })->catch(function() use ($promise) { $promise->wrap(function($promise) { $promise->reject('se produjo un error'); }); }); })->then(function ($data) { print_r($data) })->catch(function ($message) { echo $message; }); new Promise(function ($promise) { RequestCurl::http()->get( 'http://youtube.com/', )->then(function($content) use ($promise) { $promise->wrap(function($promise) use ($content) { $content = str_replace('div', 'my-div'); $promise->resolve($content); }): })->catch(function() use ($promise) { $promise->wrap(function($promise) { $promise->reject('se produjo un error'); }); }); })->then(function ($data) { print_r($data) })->catch(function ($message) { echo $message; }); });