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