Menu
CoddyTech

Penghitung dengan Masa Berlaku

Termasuk bagian Autentikasi dan Keamanan dalam perjalanan Node.js di Coddy. Pelajaran 22 dari 24.

Jendela tetap menghitung percobaan sejak satu waktu awal. Simpan since di samping jumlahnya. Untuk jendela satu menit, jendela tersebut kedaluwarsa saat now - since mencapai 60000 milidetik.

// Jendela waktu sepuluh detik dalam contoh ini
if (now - since >= 10000) {
    count = 0;
    since = now;
}
count += 1;

Selama jendela berlangsung, pertahankan waktu awalnya. Menggesernya setelah setiap percobaan akan terus memperpanjang waktu tunggu. Latihan ini menyediakan now agar kamu bisa menguji batas waktu tanpa menunggu. server yang berjalan memperoleh waktu saat ini dari Date.now(). Proyek login menggunakan catatan { count, since } yang sama.

challenge icon

Tantangan

Mudah

Perbarui catatan kegagalan satu menit di exercise.js. Jika now - since setidaknya 60000, mulai jendela baru pada now dengan count 1. Jika tidak, tambah count dan pertahankan since. Kembalikan kedua field.

POST {"count":3,"since":0,"now":10000}: hasil yang diharapkan adalah {"count":4,"since":0}. Pada now:60000, hasil yang diharapkan adalah {"count":1,"since":60000}.

GET /result awal menggunakan contoh yang disediakan, yaitu {"count": 2, "since": 1000, "now": 61000}. Gunakan POST /result dengan isi JSON untuk mencoba input lain.

Coba sendiri

export function exercise({ count, since, now }) {
    return { count: count + 1, since };
}

Semua pelajaran di Autentikasi dan Keamanan

Latihan sendiri: Playground Express