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;
}
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 1
SerafimArts
@SerafimArts
Senior Notepad Reader
1) Так и вызывать. Если код такой же, как в вопросе - ошибок не должно быть.
2) Нет, не создаётся. Это обычный эвентлуп, обеспечивающий асинхронность.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
28 апр. 2024, в 00:54
10000 руб./за проект
28 апр. 2024, в 00:53
70000 руб./за проект
27 апр. 2024, в 21:24
150000 руб./за проект