const DEVELOPER_INFO = [
" autor " => " Matheus Johann Araújo " ,
" country " => " Brasil " ,
" state " => " Pernambuco " ,
" date " => " 2022-03-12 "
]; Istilah callback berarti fungsi masa lalu sebagai parameter suatu fungsi, yang akan dipanggil oleh suatu fungsi. Dalam PHP callbacks adalah tipe callable yang berarti chamable;
Kelas yang disebut Closure bertanggung jawab untuk mewakili fungsi anonim dan arrow functions (fungsi panah);
callback biasanya fungsi yang tidak disebutkan namanya (fungsi anonim atau panah) yang dilewatkan oleh parameter, tetapi tidak ada yang mencegah fungsi bernama dari dilewatkan sebagai parameter!
setInterval(callback, milliseconds) melakukan fungsi callback dalam waktu yang tepat. Fungsi mengembalikan UID yang dapat digunakan dalam fungsi clearInterval untuk menghapus setInterval dari baris eksekusi;
setTimeout(callback, milliseconds) melakukan panggilan fungsi panggilan balik dalam waktu yang diinformasikan dengan cara yang unik. Fungsi mengembalikan UID yang dapat digunakan dalam fungsi clearTimeout untuk menghapus setTimeout dari baris eksekusi;
clearInterval(UID) melengkapi eksekusi setInterval di masa depan yang memiliki UID yang diinformasikan. Fungsi mengembalikan true (selesai) atau false (tidak menyelesaikan atau tidak menemukan tugas yang dijadwalkan);
clearTimeout(UID) menyelesaikan eksekusi di masa depan dari setTimeout yang memiliki UID yang diinformasikan. Fungsi mengembalikan true (selesai) atau false (tidak menyelesaikan atau tidak menemukan tugas yang dijadwalkan).
<?php
// EN-US: Include at the beginning of the first file to be interpreted, on the WEB server use TICK sparingly
// PT-BR: Incluir no início do primeiro arquivo a ser interpretado, no servidor WEB use o TICK com moderação
declare (ticks= 1 );
require_once " lib/code.php " ;
echo " Start " , PHP_EOL ;
$ counter = 1 ;
$ uid = setInterval ( function () use (& $ counter ) {
echo " Counter: " , $ counter ++, PHP_EOL ;
}, 100 );
setTimeout ( function () {
echo " Half of the increments " , PHP_EOL ;
}, 1000 );
setTimeout ( function () use ( $ uid ) {
echo " Stopping the counter " , PHP_EOL ;
clearInterval ( $ uid );
}, 2000 );
echo " Processing... " , PHP_EOL ;
// EN-US: Include after timed calls
// PT-BR: Incluir após chamadas programadas (agendadas)
$ count = workWait ( function () { usleep ( 1 ); });
echo " workRun has been run $ {count} times " , PHP_EOL ;
echo " End " , PHP_EOL ; Metode then(callback) dipanggil saat janji diselesaikan. callback akan dieksekusi dan akan menerima sebagai parameter nilai yang diteruskan pada fungsi resolve ;
Metode catch(callback) yang dipanggil ketika janji ditolak. callback akan dilakukan dan akan menerima sebagai parameter nilai yang diturunkan pada fungsi reject ;
Metode finally(callback) yang dipanggil setelah janji diselesaikan atau ditolak, yang menembakkan eksekusi callback yang diinformasikan sebagai parameter.
<?php
// EN-US: Include at the beginning of the first file to be interpreted, on the WEB server use TICK sparingly
// PT-BR: Incluir no início do primeiro arquivo a ser interpretado, no servidor WEB use o TICK com moderação
declare (ticks= 1 );
require_once " lib/code.php " ;
echo " Start " , PHP_EOL ;
$ promise = new Promise ( function ( $ resolve , $ reject ) {
$ call = rand ( 0 , 1 ) ? $ resolve : $ reject ;
setTimeout ( function () use ( $ call ) {
$ call ( " message " );
}, 1000 );
});
function info_promise () {
global $ promise ;
echo " > monitor: " , $ promise -> getMonitor (), PHP_EOL ;
echo " > state: " , $ promise -> getState (), PHP_EOL ;
}
info_promise ();
$ promise -> then ( function ( $ result ) {
echo " then ( $ {result} ) " , PHP_EOL ;
info_promise ();
})-> catch ( function ( $ error ) {
echo " catch ( $ {error} ) " , PHP_EOL ;
info_promise ();
})-> finally ( function () {
echo " finally " , PHP_EOL ;
info_promise ();
});
echo " Processing... " , PHP_EOL ;
for ( $ counter = 0 ; $ counter < 10 ; $ counter ++) {
echo " Counter: $ {counter}" , PHP_EOL ;
usleep ( 200000 );
}
// EN-US: Include after timed calls
// PT-BR: Incluir após chamadas programadas (agendadas)
$ count = workWait ( function () { usleep ( 1 ); });
echo " workRun has been run $ {count} times " , PHP_EOL ;
echo " End " , PHP_EOL ;