kot2566
@kot2566

AMPHP как вызвать внешнюю функцию?

Подскажите, как заставить работать функцию `mfetch` внутри `wait`?
Ругается, что функция не найдена.
Как мне её передать внутрь Promise?

Я правильно понимаю, что там (внутри `wait`) создаётся отдельный процесс (или поток), который не знает о существовании функции `mfetch`?

use function Amp\Promise\wait;
use function Amp\ParallelFunctions\parallelMap;

function mfetch($url)
{
    return file_get_contents($url);
}

// https://amphp.org/parallel-functions
function parallel($array)
{
    $values = Promise\wait(parallelMap($array, function ($item) {
        $html = mfetch($item['url']);
        return $html;
    }));
    return $values;
}
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
SerafimArts
@SerafimArts
Senior Notepad Reader
1) Так и вызывать. Если код такой же, как в вопросе - ошибок не должно быть.
2) Нет, не создаётся. Это обычный эвентлуп, обеспечивающий асинхронность.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы