这些基本 / promise-async-await
基于生成器和yield的async-await模拟
1.0.1
2020-01-31 22:31 UTC
Requires
- react/promise: ^2
Requires (Dev)
- kahlan/kahlan: ^4.7
This package is auto-updated.
Last update: 2024-09-20 22:28:10 UTC
README
ReactPHP的async-await模拟器,使用生成器和yield
安装
composer require thesebas/promise-async-await
用法
这使得可以编写
asyncRun(function ($init) { $res = yield asyncFunc($init); $res2 = yield all([asyncFunc($res + 1), asyncFunc($res + 1)]); $res3 = yield race([asyncFunc($res * 2), asyncFunc($res2 / 2)]); return "wow" . $init . $res . $res2 . $res3; }, 0.1)->then(function ($result) { // ... $result is eq "wow".$init.$res.$res2.$res3; });
而不是
$init = 0.1; asyncFunc($init)->then(function ($res) { return all([asyncFunc($res + 1), asyncFunc($res + 1)]); })->then(function ($res2) { return yield race([asyncFunc(/* $res? */), asyncFunc($res2 / 2)]); })->then(function ($res3) { return "wow" ./* $init? */ /* $res?*/ /* $res2?*/ $res3 })->then(function ($result) { // ... $result is eq "wow".$res3; });
更多信息请参阅规范