Size: a a a

2021 February 04

MM

Maksim Masiukevich in PHP
danil pavlusenko
типа такого
$requests = [$requestToService1, $requestToService2, $requestToService3];

foreach ($requests as $request) {
 $result[] = await(resolve($request));  
}
Ну и?) У тебя весь твой код выполнится последовательно ;)
источник

KN

Kirill Nesmeyanov in PHP
ну потому что await последовательный)
источник

KN

Kirill Nesmeyanov in PHP
а вот yield Promise::all($requests) уже нет
источник

K

Kalyashka in PHP
danil pavlusenko
типа такого
$requests = [$requestToService1, $requestToService2, $requestToService3];

foreach ($requests as $request) {
 $result[] = await(resolve($request));  
}
ну вот это типичный пример - выполнить несколько запросов к удаленным сервисам. Но это можно сделать и сейчас мультикурлом/газлом и т.п.
источник

MM

Maksim Masiukevich in PHP
Kirill Nesmeyanov
а вот yield Promise::all($requests) уже нет
Ну да, в таком случае получишь эффект, который можешь безо всяких лупов получить с помощью мультикурла/мультиквери в бд.

Но конкурентности, как таковой, тут нет.
источник

KN

Kirill Nesmeyanov in PHP
ну или через Amp, если не путаю:
$result = wait(call(fn () => yield all($requests)));
источник

KN

Kirill Nesmeyanov in PHP
Maksim Masiukevich
Ну да, в таком случае получишь эффект, который можешь безо всяких лупов получить с помощью мультикурла/мультиквери в бд.

Но конкурентности, как таковой, тут нет.
ну с одной стороны да
источник

MM

Maksim Masiukevich in PHP
Kirill Nesmeyanov
ну или через Amp, если не путаю:
$result = wait(call(fn () => yield all($requests)));
Просто yield $promises
источник

KN

Kirill Nesmeyanov in PHP
но помимо хттп, есть и другие запросы
источник

SP

Sergey Protko in PHP
Kirill Nesmeyanov
а вот yield Promise::all($requests) уже нет
источник

SP

Sergey Protko in PHP
Kirill Nesmeyanov
но помимо хттп, есть и другие запросы
а еще есть нормальные языки)
источник

KN

Kirill Nesmeyanov in PHP
Maksim Masiukevich
Просто yield $promises
ну засинкать результат надо, так что полюбасу wait
источник

MM

Maksim Masiukevich in PHP
Kirill Nesmeyanov
ну засинкать результат надо, так что полюбасу wait
Эт сахар же)
источник

KN

Kirill Nesmeyanov in PHP
для while(!result), ага)
источник

dp

danil pavlusenko in PHP
Maksim Masiukevich
Ну и?) У тебя весь твой код выполнится последовательно ;)
да сори я затупок
но ведь на место requestToService
мы же можем requestToDatabase условный поставить
ну т.е. также поюзать  yield $promises
но только запросы необязательно http
пусть  они к бд будет также
источник

MM

Maksim Masiukevich in PHP
danil pavlusenko
да сори я затупок
но ведь на место requestToService
мы же можем requestToDatabase условный поставить
ну т.е. также поюзать  yield $promises
но только запросы необязательно http
пусть  они к бд будет также
источник

MM

Maksim Masiukevich in PHP
Никто не спамит, я тогда наброшу:
источник

KN

Kirill Nesmeyanov in PHP
а что спамить, норм аргумент
источник

MM

Maksim Masiukevich in PHP
Переслано от Anton Gubarev
источник

KN

Kirill Nesmeyanov in PHP
лол, а где Шабовта?
источник