#!/usr/bin/php data = [1, 2, 3]; } public function getData() { return $this->data; } } // Create the process $promise = async(function () { sleep(2); return new Sample(); }); // We can do some other stuff here while the process is running // Resolve the promise /** @var Sample $sample */ $sample = $promise->resolve()->getValue(); var_dump($sample->getData());