Stupid async implementation using await-generator
libAsync::doAsync(Closure $executor); // <-- Returns a promise
- Fetch data from the internet
use SOFe/AwaitGenerator/Await;
use Mcbeany/libAsync/libAsync;
use pocketmine/utils/Internet;
Await::f2c(function(){
$response = yield from libAsync::doAsync(fn() => Internet::getUrl("example.com"));
var_dump($response);
});
- Save file asynchronously
Await::g2c(
libAsync::doAsync(fn() => file_put_contents('file.txt', 'Hello World!')),
fn() => $this->getLogger()->info("Saved file successfully!")
);
Do not pass any variables that cannot be serialized to AsyncTask