waitly
v0.0.3
Published
waitly alat ringan untuk menangani delay berbasis promise
Maintainers
Readme
waitly
waitly alat ringan untuk menangani delay berbasis promise
Dilengkapi dengan fitur tambahan seperti pembatalan delay, penjadwalan tugas, dan validasi parameter. Mendukung penggunaan AbortController untuk membatalkan delay secara asinkron.
Instalasi
npm install waitlyAPI
waitly(milliseconds, options)
Fungsi utama untuk membuat delay berbasis promise.
Parameter:
milliseconds(Number): Durasi delay dalam milidetik (wajib, harus bernilai non-negatif).options(Object) (Opsional):returnValue(Any): Nilai yang akan dikembalikan setelah delay selesai.abortSignal(AbortSignal): ObjekAbortSignaluntuk membatalkan delay menggunakanAbortController.
Kembalian:
- (Promise): Sebuah promise yang selesai setelah delay. Jika
abortSignaldigunakan untuk membatalkan delay, promise akan gagal dengan error'Delay dibatalkan'.
import { waitly } from 'waitly' // ESM
const { waitly } = require('waitly') // CommonJS
function runExample() {
console.log('Start')
waitly(2000, { returnValue: 'Selesai' }).then(() => {
console.log('End') // Dicetak setelah 2 detik
})
}
runExample()waitly.cancelDelay(promise, controller)
Membatalkan delay secara manual menggunakan AbortController.
Parameter:
promise(Promise): Promise yang dibuat olehwaitly.controller(AbortController): ObjekAbortControlleryang terkait dengan promise tersebut.
function cancelExample() {
const controller = new AbortController()
const promise = waitly(5000, { abortSignal: controller.signal })
setTimeout(() => {
waitly.cancelDelay(promise, controller) // Membatalkan delay setelah 1 detik
}, 1000)
promise.catch((error) => {
console.log(error.message) //=> 'Delay dibatalkan'
})
}
cancelExample()waitly.scheduleTask(task, milliseconds)
Menjadwalkan sebuah fungsi atau tugas asinkron untuk dijalankan setelah delay tertentu.
Parameter:
task(Function): Fungsi atau tugas yang akan dijalankan setelah delay.milliseconds(Number): Waktu delay sebelum tugas dijalankan (harus bernilai non-negatif).
Kembalian:
- (Promise): Promise yang selesai setelah tugas dijalankan.
function exampleTask() {
console.log('Tugas dijalankan!')
}
function scheduleExample() {
waitly.scheduleTask(exampleTask, 3000).then(() => {
console.log('Selesai') // 'Tugas dijalankan!' akan dicetak setelah 3 detik
})
}
scheduleExample()