NDEFReader: phương thức scan()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Phương thức scan() của giao diện NDEFReader kích hoạt thiết bị đọc và trả về một Promise giải quyết khi thao tác đọc thẻ NFC được lên lịch hoặc bị từ chối nếu gặp lỗi phần cứng hoặc quyền. Phương thức này kích hoạt yêu cầu cấp quyền nếu quyền "nfc" chưa được cấp trước đó.
Cú pháp
scan(options)
Tham số
optionsOptional-
Một đối tượng với các thuộc tính sau:
signal-
Một
AbortSignalcho phép hủy thao tácscan()này.
Giá trị trả về
Một Promise được giải quyết ngay lập tức sau khi lên lịch các thao tác đọc cho bộ điều hợp NFC.
Ngoại lệ
Phương thức này không ném ngoại lệ; thay vào đó, nó từ chối promise được trả về, truyền DOMException có name là một trong những giá trị sau:
AbortErrorDOMException-
Được trả về nếu thao tác scan bị hủy với
AbortSignalđược truyền trong đối sốoptions. InvalidStateErrorDOMException-
Được trả về nếu đã có một lần quét đang diễn ra.
NotAllowedErrorDOMException-
Được trả về nếu quyền cho thao tác này bị từ chối.
NotSupportedErrorDOMException-
Được trả về nếu không có bộ điều hợp NFC tương thích với Web NFC hoặc không thể thiết lập kết nối.
Ví dụ
>Xử lý lỗi quét
Ví dụ này cho thấy điều gì xảy ra khi promise scan bị từ chối và readingerror được ném ra.
const ndef = new NDEFReader();
ndef
.scan()
.then(() => {
console.log("Scan started successfully.");
ndef.onreadingerror = (event) => {
console.log(
"Error! Cannot read data from the NFC tag. Try a different one?",
);
};
ndef.onreading = (event) => {
console.log("NDEF message read.");
};
})
.catch((error) => {
console.log(`Error! Scan failed to start: ${error}.`);
});
Thông số kỹ thuật
| Specification |
|---|
| Web NFC> # dom-ndefreader-scan> |