Hello world với Koajs

Tram Ho

Trong tất cả mọi ngôn ngữ lập trình, hầu hết chúng ta đều bắt đầu bằng một chương trình Hello world đơn giản. Trong bài viết hôm nay, chúng ta sẽ cùng nhau viết một chương trình hello world và điểm lại những kiến thức trong đoạn code.

Hello world với Koajs

Đầu tiên, tạo một file index.js trong thư mục KoaShop:
ảnh.png
Trong index.js:

Trong đoạn code trên:

  • const Koa = require("koa");: import thư viện koa.
  • const app = new Koa();: khởi tạo app.
  • app.use(async ctx => { return ctx.body = "Hello world"; });: gắn một middleware(hàm sẽ được gọi khi có 1 request gửi tới) vào ứng dụng.
  • app.listen(3000);: khởi chạy app ở port 3000(http://localhost:3000).
    Để trực quan hơn, các bạn mở terminal để chạy app:

Và mở vào http://localhost:3000, kết quả sẽ như sau:
ảnh.png

Chi tiết hơn về middleware trong Koajs

Trong chương trình bên trên, chúng ta có một middleware đơn giản là một async function nhận vào tham số ctx(tương đương với this, trong các version mới của koajs hầu hết sử dụng arrow function). Ctx vừa là request, vừa là response và nó cũng chứa rất nhiều methods hữu ích để viết web app và APIs. Tìm hiểu thêm.
Ngoài ctx, hầu hết ứng middleware trong một Koa app đều có thêm một tham số nữa là next, dùng để tiếp tục đi đến middleware tiếp theo, ví dụ như đoạn code dưới đây:

Kết quả:
ảnh.png
Nhưng nếu bây giờ ta xóa mất dòng await next(); thì mọi người đoán sẽ ra thế nào?

Kết quả:
ảnh.png
Như vậy, ta có thể thấy rằng các middleware sẽ được gọi như một dòng thác, chảy từ trên xuống, nhưng nếu bằng cách nào đó ngăn dòng nước lại thì nó sẽ dừng hẳn, những middleware ở sau sẽ không được gọi, nên thường ta chỉ dừng khi thực sự cần thiết hoặc là khi handle error(tốt nhất là ở middleware đầu tiên).

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo