Skip to main content

4 posts tagged with "typescript"

View All Tags

· 3 min read
Phạm Quyết Thắng
Fullstack developer

Swagger is a powerful tool for creating and managing API documentation. However, securing Swagger documents is crucial to ensure that sensitive information is not exposed. In this article, we will explore how to use the express-basic-auth library to protect Swagger documentation pages in JavaScript and TypeScript projects. We will focus on two cases: a regular JavaScript/TypeScript project and a NestJS project with @nestjs/swagger.

After implementation, a user/password input form will appear when accessing the document page, and the correct credentials must be entered to view the document:

Basic auth

· 2 min read
Ngô Gia Phong
Javascript developer

Bất đồng bộ là gì?

"Bất đồng bộ" là một thuật ngữ thường được sử dụng trong lĩnh vực công nghệ thông tin để chỉ các quá trình, tác vụ, hoặc hệ thống không hoạt động đồng bộ với nhau. Điều này có thể ám chỉ đến các quá trình chạy không cùng một tốc độ, không hoàn thành vào cùng một thời điểm, hoặc không tuân theo một lịch trình chung.

JavaScript có phải là bất đồng bộ?

  • Người ta thường nói JavaScript là ngôn ngữ bất đồng bộ, nhưng thực tế không hẳn như vậy.
  • JS luôn đồng bộ & blocking

Đúng là JS có những cơ chế hỗ trợ lập trình bất đồng bộ (callback, promise, async/await), nhưng bản thân JS runtime hoàn toàn không phải. Bạn không thể nào viết một hàm với callback, promise hay async/await và hi vọng nó hoạt động asynchronous và non-blocking.

Code JS là đơn luồng và hoàn toàn đồng bộ. Chỉ có những tác vụ sử dụng WebAPIs (do browser) như AJAX, timeout,... thì JS mới thực thi chúng dạng bất đồng bộ. (hoặc một số API như AJAX của jquery cho phép cả hai chế độ).

Làm sao để sử lý bất đồng bộ trong JavaScript ?

Có 3 cách "thường dùng" để xử lý bất bồng bộ:

  • Cách 1: Sử dụng Callback
  • Cách 2: Sử dụng Promie
  • Cách 3: Sử dụng Async/ Await