frodeborli / skuld
一些答案可能无法立即提供。Skuld是一个无依赖的完整Promise实现,旨在与其他Promise实现协同工作。
1.0.3
2022-12-03 23:59 UTC
Requires (Dev)
- frodeborli/themis: ^1.1.19
This package is auto-updated.
Last update: 2024-09-04 03:44:42 UTC
README
强大的通用Promise实现。API与javascript的Promise/A+兼容,与其他大多数Promise实现互操作。
基本用法
可以通过调用传递给resolve函数的$fulfill
或$reject
回调函数来解析Promise。或者,resolve函数可以返回一个值。
<?php
use Skuld\Promise;
function alternative_1() {
return new Promise(function($fulfill, $reject) {
$fulfill("Future value");
});
}
function alternative_2() {
return new Promise(function() {
return "Future value";
})
}
function alternative_3() {
return Promise::resolved("Future value");
}
alternative_1()->then(function($value) {
echo $value . "\n";
});
解析Promise
<?php
use Skuld\Promise;
function future_value() {
return new Promise(function() {
return 10;
});
}
echo future_value()->wait(); // outputs 10
休眠Promise
Promise::sleep(float $time)
函数返回一个Promise,将在$time
秒后解析。
示例用法
<?php
use Skuld\Promise;
function value_in_10_second() {
return new Promise(function() {
Promise::sleep(10)->wait();
return 123;
});
}