Menu
CoddyTech

Bộ đếm tự hết hạn

Thuộc phần Xác thực và bảo mật trong hành trình Node.js của Coddy. Bài học 22 trên 24.

Khung thời gian cố định tính số lần thử kể từ một thời điểm bắt đầu. Lưu since cùng với số lần thử. Với khung thời gian một phút, khung sẽ hết hạn khi now - since đạt 60000 mili giây.

// Khoảng thời gian 10 giây trong ví dụ này
if (now - since >= 10000) {
    count = 0;
    since = now;
}
count += 1;

Trong khung thời gian, hãy giữ nguyên thời điểm bắt đầu ban đầu. Nếu cập nhật thời điểm đó sau mỗi lần thử, bạn sẽ liên tục kéo dài thời gian chờ. Bài luyện tập này cung cấp now để bạn có thể kiểm tra ranh giới mà không cần chờ. Máy chủ đang chạy lấy thời gian hiện tại từ Date.now(). Dự án đăng nhập sử dụng cùng bản ghi { count, since }.

challenge icon

Thử thách

Dễ

Cập nhật bản ghi lỗi trong một phút trong exercise.js. Nếu now - since lớn hơn hoặc bằng 60000, hãy bắt đầu một khoảng thời gian mới tại now với số lượng là 1. Nếu không, hãy tăng số lượng và giữ nguyên since. Trả về cả hai trường.

POST {"count":3,"since":0,"now":10000}: kết quả mong đợi là {"count":4,"since":0}. Tại now:60000, kết quả mong đợi là {"count":1,"since":60000}.

Lệnh GET /result ban đầu sử dụng ví dụ được cung cấp {"count": 2, "since": 1000, "now": 61000}. Dùng POST /result với nội dung JSON để thử các đầu vào khác.

Tự làm thử

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

Tất cả bài học trong Xác thực và bảo mật

Tự luyện tập: Playground Express