Hỏi cách handle gửi nhiều API trên ReactJs

Xin chào tất cả mọi người.
Mình đang học ReactJs và đang làm 1 cái dự án web nho nhỏ. Vấn đề mình gặp phải là khi làm trang admin, mình muốn thay đổi hàng loạt (ví dụ xóa 1 ngàn cuốn sách selected chẳng hạn), lúc này mình đang dùng vòng for và gửi 1 loạt API đó, việc này mình thấy nó ngu ngu đơ đơ làm sao ấy, mình muốn hỏi có cách nào xử lý việc này không ạ?
Mình thì nghĩ là mình sẽ làm 1 cái API để handle xóa nhiều, lúc này 1 API này sẽ nhận nhiều id để xóa. Cách này liệu ổn không mọi người?

Mình xin chân thành cảm ơn.

1 Like

Gửi 1 list id lên server xóa là đc mà.
p/s: bạn đang xử lý xóa bằng cách nào ? Bạn đang sử dụng GET request để xóa à ?

5 Likes

ừa mình có nghĩ trường hợp đó và handle rùi, cơ mà nếu ví dụ mình làm 1 thanh process bar, thì mình phải biết được đã xóa được bao nhiêu / tổng, mà cái này thì phải gửi từng id nên việc gửi 1 list không ổn lắm bạn ạ.

Mình dùng phương thức DELETE chứ

Bạn muốn có cái progress thì dùng websocket đi
Lúc nào xóa xong 1 cái thì server gửi message đến client là đã xóa bao nhiêu / tổng là đc.

6 Likes

Hoặc nếu không dùng WebSocket thì cho client gửi request liên tục hỏi server xóa đến đâu rồi, server trả đã xóa được bao nhiêu/tổng. Nhưng cách này không realtime và làm nặng máy vì phải gửi request lên server liên tục, cách tối ưu nhất vẫn là dùng WebSocket như @Dao_An đã nói.

P/s: Đây là cách dùng REST, nếu bạn vẫn muốn dùng DELETE request thì dùng cách này. Nhưng như mình nói ở trên, đây là cách không tối ưu.

Khái niệm về REST và WebSocket:


2 Likes

Thường thì gửi về server xử lý rồi đưa thông báo “đã xóa x item” và có lỗi thì thông báo lỗi.
Câu hỏi đặt ra là có nhất thiết phải để process bar không bạn? Ý mình là lợi ích của process bar so với việc thông báo tổng item đã xóa là gì vậy? Bạn có thể nói thêm đc không?

4 Likes

Cảm ơn bạn, chi tiết quá, mình sẽ tìm hiểu web socket xem sao.

À mục đích là mình học thôi, ví dụ như khách hàng yêu cầu vậy chẳng hạn ấy.
Cảm ơn bạn nhiều nhé.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?