Chủ đề của Tích hợp ứng dụng trang đơn với Spring Boot - Integrate single page application with Spring Boot

SBA301 - Chương 5: Gọi API từ client — fetch, Axios và Promise

Cách phía React lấy dữ liệu từ dịch vụ REST: hàm fetch trả về Promise, mặc định dùng phương thức GET, và chuỗi xử lý đúng là then lấy response rồi gọi response.json(). Phần Axios gồm axios.get và axios.post, đặt địa chỉ gốc bằng axios.defaults.baseURL, bắt lỗi bằng catch, các phương thức HTTP mà Axios hỗ trợ, và chọn put hay patch khi cập nhật tài nguyên. Kèm nền tảng bất đồng bộ của JavaScript: khởi tạo Promise và từ khoá await.

Xem danh sách câu hỏi15 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

15Câu hỏi hiện có

Câu hỏi của chủ đề

15/15 câuHết danh sách
Aasync
Bpromise
Cawait
Dcallback
Lời giải
Trong lập trình JavaScript, khi chúng ta sử dụng async/await để xử lý các tác vụ bất đồng bộ, chúng ta thường gặp một vấn đề là cần phải chờ đợi cho đến khi một tác vụ được hoàn thành trước khi tiếp tục thực hiện các tác vụ khác. Keyword được sử dụng để tạm dừng việc thực hiện của một hàm async cho đến khi một Promise được giải quyết là 'await'. Điều này cho phép chúng ta viết mã dễ đọc và dễ hiểu hơn, đồng thời giảm thiểu sự phức tạp khi xử lý các tác vụ bất đồng bộ.
Mở trang câu hỏi này →
2What is the syntax for creating a new Promise?4 lựa chọnKhó25% trả lời đúng
Anew Promise(callback)
BcreatePromise(callback)
CPromise.create(callback)
DPromise.new(callback)
Lời giải

Để tạo một đối tượng Promise mới trong JavaScript, bạn cần sử dụng từ khóa 'new' trước constructor của Promise. Syntax chính xác là 'new Promise(callback)', nơi callback là một hàm bao gồm hai tham số: resolve và reject. Hàm này sẽ được thực thi khi tạo đối tượng Promise. Trong callback, bạn có thể thực hiện các hành động cần thiết và sử dụng các tham số resolve và reject để quản lý trạng thái của Promise. Ví dụ:

Lời giải
 const promise = new Promise((resolve, reject) => {
    // code here
    resolve('Giải quyết được!');
});

Tóm lại, 'new Promise(callback)' là syntax chính xác để tạo một đối tượng Promise mới trong JavaScript.

Mở trang câu hỏi này →
Aaxios.get()
Baxios.post()
Caxios.put() or axios.patch()
Daxios.delete()
Lời giải
Trong RESTful API, phương thức Axios thường được sử dụng để cập nhật một tài nguyên hiện có là phương thức PUT hoặc PATCH. Phương thức PUT thường được sử dụng để cập nhật toàn bộ tài nguyên, trong khi phương thức PATCH được sử dụng để cập nhật một phần của tài nguyên. Ví dụ, nếu bạn muốn cập nhật thông tin cá nhân của một người dùng, bạn có thể sử dụng phương thức PUT để cập nhật toàn bộ thông tin, hoặc sử dụng phương thức PATCH để cập nhật chỉ một số thông tin cụ thể. Việc lựa chọn phương thức nào phụ thuộc vào yêu cầu cụ thể của ứng dụng và cấu trúc dữ liệu của tài nguyên.
Mở trang câu hỏi này →
Afetch(url).then(response => response.json()).then(data => console.log(data));
Bfetch(url).then(data => data.json()).then(console.log(data));
Cfetch(url).data().then(console.log);
Dfetch(url).json().then(data => console.log(data));
Lời giải

Để xử lý một yêu cầu fetch thành công, chúng ta cần sử dụng hàm then để thực hiện các hành động tiếp theo sau khi dữ liệu được tải về. Trong ví dụ này, chúng ta cần chuyển đổi dữ liệu từ dạng JSON sang dạng dễ đọc hơn bằng cách sử dụng hàm response.json(). Sau đó, chúng ta có thể sử dụng hàm console.log() để in ra dữ liệu đã được chuyển đổi. Vì vậy, câu trả lời đúng là fetch(url).then(response =>

Lời giải
response.json()).then(data => console.log(data));

. Câu trả lời này cho phép chúng ta xử lý dữ liệu một cách linh hoạt và dễ dàng.

Mở trang câu hỏi này →
5Which HTTP methods are supported by Axios?4 lựa chọnDễ100% trả lời đúng
AOnly GET and POST in the browser
BGET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD
CGET, POST only
DGET, POST, DELETE only
Lời giải
Axios hỗ trợ các phương thức HTTP sau: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD. Điều này có nghĩa là bạn có thể sử dụng bất kỳ phương thức nào trong số này khi sử dụng Axios để gửi yêu cầu HTTP. Ví dụ, bạn có thể sử dụng phương thức PUT để cập nhật dữ liệu, phương thức DELETE để xóa dữ liệu, phương thức PATCH để cập nhật một phần dữ liệu, v.v. Ngoài ra, bạn cũng có thể sử dụng phương thức OPTIONS để kiểm tra các phương thức HTTP được hỗ trợ bởi server, và phương thức HEAD để kiểm tra thông tin về tài nguyên mà không tải về dữ liệu.
Mở trang câu hỏi này →
6How do you send POST data using Axios?4 lựa chọnDễ86% trả lời đúng
Aaxios.write('url', data)
Baxios.sendPost('url', data)
Caxios.post('url', data)
Daxios.get('url', data)
Lời giải
Để gửi dữ liệu POST bằng Axios, bạn cần sử dụng phương thức post(). Phương thức này yêu cầu hai tham số: URL và dữ liệu cần gửi. Dữ liệu có thể là một đối tượng JSON hoặc một chuỗi. Ví dụ, bạn có thể sử dụng phương thức post() như sau: axios.post('url', dữ liệu). Phương thức này sẽ gửi một yêu cầu POST đến URL chỉ định với dữ liệu được gửi kèm theo. Ngoài ra, bạn cũng có thể sử dụng phương thức post() để gửi dữ liệu POST với các tùy chọn khác nhau, chẳng hạn như headers, params, hoặc data.
Mở trang câu hỏi này →
7What is returned by an Axios request?4 lựa chọnDễ100% trả lời đúng
AString
BObject
CArray
DPromise
Lời giải
Khi thực hiện một yêu cầu bằng Axios, kết quả trả về sẽ là một đối tượng Promise. Đối tượng Promise là một loại đối tượng trong JavaScript được sử dụng để xử lý các tác vụ bất đồng bộ. Nó cho phép bạn thực hiện các tác vụ như gửi yêu cầu HTTP, đọc dữ liệu từ cơ sở dữ liệu, v.v. mà không phải chờ đợi kết quả. Khi tác vụ được thực hiện xong, đối tượng Promise sẽ được giải phóng và trả về kết quả. Trong trường hợp của Axios, đối tượng Promise sẽ được trả về sau khi gửi yêu cầu HTTP thành công. Bạn có thể sử dụng phương thức then() hoặc async/await để lấy kết quả từ đối tượng Promise này.
Mở trang câu hỏi này →
8Which HTTP method is used by default when making a fetch request?4 lựa chọnDễ83% trả lời đúng
APOST
BGET
CDELETE
DPUT
Lời giải
Khi thực hiện yêu cầu fetch, phương thức HTTP mặc định được sử dụng là GET. Phương thức GET được sử dụng để yêu cầu dữ liệu từ một nguồn, thường được sử dụng để tải xuống dữ liệu từ một URL. Trong trường hợp fetch, phương thức GET được sử dụng mặc định vì nó phù hợp với mục đích của yêu cầu fetch, đó là tải xuống dữ liệu từ một nguồn. Tuy nhiên, người dùng có thể thay đổi phương thức HTTP được sử dụng bằng cách chỉ định phương thức cụ thể trong phương thức fetch.
Mở trang câu hỏi này →
9What does the fetch() function in JavaScript return?4 lựa chọnDễ83% trả lời đúng
AAn XMLHttpRequest object
BA Promise
CA callback function
DA JSON object
Lời giải
Hàm fetch() trong JavaScript trả về một đối tượng Promise. Đối tượng Promise này sẽ được thực hiện khi hàm fetch() được gọi và sẽ trả về một đối tượng Response. Đối tượng Response này chứa dữ liệu được yêu cầu từ server. Đối tượng Promise này cho phép chúng ta sử dụng các phương thức như then(), catch() để xử lý dữ liệu trả về từ server.
Mở trang câu hỏi này →
10How can you handle errors in an Axios request?4 lựa chọnDễ100% trả lời đúng
AUsing .error()
BUsing .catch()
CUsing .handle()
DUsing .fail()
Lời giải
Để xử lý lỗi trong một yêu cầu Axios, bạn có thể sử dụng phương thức .catch(). Phương thức này được sử dụng để bắt các lỗi xảy ra trong quá trình thực hiện yêu cầu. Khi sử dụng .catch(), bạn có thể viết mã để xử lý lỗi và đảm bảo rằng ứng dụng của mình vẫn hoạt động bình thường ngay cả khi có lỗi xảy ra. Ví dụ, bạn có thể sử dụng .catch() để hiển thị thông báo lỗi cho người dùng hoặc để thực hiện hành động khác khi có lỗi xảy ra. Ngoài ra, bạn cũng có thể sử dụng phương thức .then() để thực hiện hành động khi yêu cầu được thực hiện thành công.
Mở trang câu hỏi này →
11How can you set a default base URL in Axios?4 lựa chọnDễ100% trả lời đúng
Aaxios.defaults.baseURL = 'https://api.example.com'
Baxios.configure.baseURL = 'https://api.example.com'
Caxios.setBaseURL('https://api.example.com')
Daxios.baseURL('https://api.example.com')
Lời giải
Để đặt một URL cơ bản mặc định trong Axios, bạn có thể sử dụng thuộc tính `baseURL` của đối tượng `defaults`. Điều này cho phép bạn thiết lập một URL cơ bản mà tất cả các yêu cầu sẽ sử dụng. Ví dụ, nếu bạn muốn đặt URL cơ bản mặc định là `https://api.example.com`, bạn có thể thực hiện như sau: `axios.defaults.baseURL = 'https://api.example.com'`. Điều này sẽ áp dụng cho tất cả các yêu cầu được thực hiện sau đó. Ngoài ra, bạn cũng có thể sử dụng phương thức `defaults` để đặt URL cơ bản mặc định, nhưng cách này không được khuyến khích.
Mở trang câu hỏi này →
12Which of the following is the correct way to make a GET request using Axios?4 lựa chọnDễ83% trả lời đúng
Aaxios.get('https://api.example.com/data')
Baxios.send('GET', 'https://api.example.com/data')
Caxios.fetch('https://api.example.com/data')
Dfetch.axios('https://api.example.com/data')
Lời giải

Để thực hiện một yêu cầu GET sử dụng Axios, bạn cần sử dụng phương thức get() của Axios. Phương thức này chấp nhận một tham số là URL của API mà bạn muốn yêu cầu. Ví dụ, để yêu cầu dữ liệu từ API 'https://api.example.com/data', bạn có thể sử dụng mã sau: axios.get('https://api.example.com/data'). Phương thức này sẽ gửi một yêu cầu GET đến API và trả về dữ liệu trong dạng JSON. Ngoài ra, bạn cũng có thể sử dụng các tham số khác như headers, params để tùy chỉnh yêu cầu của mình. Ví dụ, để thêm một header 'Authorization' với giá trị 'Bearer token', bạn có thể sử dụng mã sau:

Lời giải
axios.get('https://api.example.com/data', {
  headers: {
    'Authorization': 'Bearer token'
  }
}

).

Mở trang câu hỏi này →
ABy ignoring the error
BBy using.catch() on the Axios promise and accessing the error object
CBy using static HTML error messages
DBy redirecting to a different page without displaying an error
Lời giải
Khi làm việc với RESTful API trong ứng dụng ReactJS bằng Axios, việc xử lý lỗi là rất quan trọng. Để xử lý lỗi khi gửi yêu cầu, bạn có thể sử dụng phương thức .catch() trên promise của Axios. Phương thức này cho phép bạn truy cập vào đối tượng lỗi và thực hiện các hành động cần thiết để xử lý lỗi. Ví dụ, bạn có thể hiển thị thông báo lỗi cho người dùng, hoặc thực hiện các hành động khác để xử lý lỗi. Điều này giúp đảm bảo ứng dụng của bạn luôn hoạt động ổn định và không bị ảnh hưởng bởi lỗi.
Mở trang câu hỏi này →
14How do you typically handle asynchronous data fetching in a React component?4 lựa chọnDễ100% trả lời đúng
ABy directly modifying the DOM
BBy using lifecycle methods (Class Components) or useEffect Hook (Functional Components)
CBy using CSS selectors
DBy using global variables
Lời giải
Khi xử lý dữ liệu tải về bất đồng bộ trong một thành phần React, bạn cần sử dụng một trong hai phương pháp sau. Trước đây, khi sử dụng các thành phần lớp (Class Components), bạn có thể sử dụng các phương thức vòng đời (lifecycle methods) để thực hiện các hành động khi dữ liệu tải về. Tuy nhiên, hiện tại khi sử dụng các thành phần chức năng (Functional Components), bạn nên sử dụng Hook useEffect để thực hiện các hành động tương tự. Điều này giúp bạn có thể quản lý dữ liệu tải về một cách dễ dàng và hiệu quả hơn.
Mở trang câu hỏi này →
15What is Axios primarily used for in JavaScript applications?4 lựa chọnKhó29% trả lời đúng
ATo define CSS styles.
BTo make HTTP requests.
CTo manage database connections.
DTo handle client-side rendering exclusively.
Lời giải
Axios là một thư viện JavaScript phổ biến được sử dụng để thực hiện các yêu cầu HTTP trong các ứng dụng JavaScript. Nó cho phép bạn dễ dàng gửi và nhận dữ liệu từ máy chủ bằng cách sử dụng các phương thức HTTP khác nhau như GET, POST, PUT, DELETE, v.v. Axios cung cấp một cách đơn giản và dễ sử dụng để quản lý các yêu cầu HTTP, giúp giảm thiểu thời gian phát triển và tăng hiệu suất của ứng dụng. Ngoài ra, Axios cũng hỗ trợ các tính năng như hủy bỏ yêu cầu, quản lý trạng thái, và xử lý lỗi, giúp bạn có thể xây dựng các ứng dụng web mạnh mẽ và đáng tin cậy.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

2 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.