Я пытаюсь понять концепцию промисов с помощью ReactPHP.
$app = function ($request, $response) use ($redis, $config) {
$promise = React\Promise\all(
array(
AsyncGetUser(),
AsyncGetDB(),
AsyncGetTemplate()
)
)->then(function ($res) {
$result = ParseTemplate($user, $template, $whatever);
}
\React\Promise\resolve($promise);
$response->writeHead(200, array('Content-Type' => 'text/plain'));
$response->end($result);
}
$http->on('request', $app);
Но $response
отправляется до того, как $result
будет готово. Как сделать что-то вроде ожидания для $promise
, чтобы я правильно отправил $result
?
Я пытался переместить $response->end
в раздел another->then()
, но тогда я не получаю никакого ответа в браузере (т.е. скрипт получает результат, когда функция $app = уже завершена).