0

幼虫アプリケーションで HHVM の非同期関数を使用しようとしています。関数に async キーワードを追加しましたが、await SleepWaitHandle の行でエラーが発生します。クラスが定義されていないと言っています。これに関するドキュメントが変更されたようには見えません。私は何が欠けていますか?

await \SleepWaitHandle::create(\DB::table('submissions')->insert($submissions_for_insert));

これは、3.9ナイトリーと3.8安定版で発生しました。Ubuntu 14.10 を実行しています。

http://hhvm.com/blog/7091/async-cooperative-multitasking-for-hackからデモを実行してみました

<?hh

async function hello(): Awaitable<string> {
  return "Hello World";
}
async function goodbye(): Awaitable<string> {
  return "Goodbye, everybody!";
}
async function run(
  array<Awaitable<string>> $handles,
): Awaitable<array<string>> {
  await AwaitAllWaitHandle::fromArray($handles);
  return array_map($handle ==> $handle->result(), $handles);
}
$results = run(array(hello(), goodbye()))->getWaitHandle()->join();
print_r($results);
// Array
// (
//  [0] => Hello World
//  [1] => Goodbye, everybody!
// )

しかし、これをコマンドラインで実行すると戻ります

Catchable fatal error: Hack type error: Invalid argument at /test/asyn.php line 12
4

1 に答える 1