Tôi hiện đang viết một thư viện nhỏ bằng JavaScript để giúp tôi ủy nhiệm cho một nhân viên web một số tính toán nặng.Phát hiện đáng tin cậy nếu tập lệnh đang thực thi trong một nhân viên web
Vì một số lý do (chủ yếu cho khả năng gỡ lỗi trong chuỗi giao diện người dùng và sau đó chạy cùng một mã trong công nhân), tôi muốn phát hiện xem tập lệnh hiện đang chạy trong công nhân hay trong chuỗi giao diện người dùng.
Tôi không phải là developper Javascript dày dạn và tôi muốn đảm bảo rằng các chức năng sau đây chắc chắn sẽ phát hiện nếu anh ở một công nhân hay không:
function testenv() {
try{
if (importScripts) {
postMessage("I think I'm in a worker actually.");
}
} catch (e) {
if (e instanceof ReferenceError) {
console.log("I'm the UI thread.");
} else {
throw e;
}
}
}
Vì vậy, đúng không?
'e if e instanceof ReferenceError' sẽ ném một lỗi cú pháp. –
Nó đã được Firefox cụ thể, cố định ngay bây giờ. – thomas
Câu hỏi liên quan (không có câu trả lời, mặc dù): [Có cơ chế chuẩn nào để phát hiện xem JavaScript có đang thực thi như một WebWorker không?] (Http://stackoverflow.com/questions/7507638/is-there-a-standard- cơ chế-phát hiện-nếu-a-javascript-đang-thi hành-as-a-chúng tôi) –