Mojolicious — ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π½Π° Perl. Mojo — Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Mojo::* ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ Π² ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
use Mojo::Base -strict, -async;
async sub hello_p {
return ‘Hello Mojo!’;
}
hello_p()->then(sub { say @_ })->wait;
ΠΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π Π°Π½Π΅Π΅ Perlfoundation Π²ΡΠ΄Π΅Π»ΡΠ»Π° Π³ΡΠ°Π½Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ Future::AsyncAwait. ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΏΡΡΡΡ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Mojolicious (Π‘Π΅Π±Π°ΡΡΡΡΠ½ Π ΠΈΠ΄Π΅Π»Ρ) ΡΠΎΠΎΠ±ΡΠ°Π», ΡΡΠΎ Π²Π΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ async/await.
Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄Π° all_settled Π΄Π»Ρ Mojo::Promise.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru