Tôi đang tham chiếu đến this. Mọi thứ vẫn chưa rõ ràng.Javascript setTimeout có dừng thực thi tập lệnh khác không
- Tôi có chức năng JS
fillTree()
cập nhật cây, hộp kiểm có hộp kiểm. - Tôi có một chức năng khác
checkSelectedBoxes()
được thực hiện trênwindow.onload
để kiểm tra các hộp kiểm đã chọn. - Hiện có rất nhiều chức năng khác được kết nối.
Câu hỏi của tôi:
- Nếu tôi đang sử dụng
setTimeout()
sẽ chức năng kịch bản khác cũng dừng lại và chờ đợi cho chức năng của tôi để kết thúc tải?
gì có thể là trường hợp này:
function fillTree(){...}
function checkSelectedBoxes(){...}
fillTree(); // This take time to get data. onLoad() doesnt work.
setTimeout(function(){ checkSelectedBoxes() },5000);
này trả về giá trị null tôi thậm chí sau khi tăng khoảng thời gian. Có fillTree()
tạm dừng thực thi không?
Không, 'setTimeout' không tạm dừng thực thi mã khác. Nếu bạn đang cố gắng gọi 'checkSelectedBoxes()' khi hoàn thành 'fillTree()' tại sao không truyền nó như một tham số gọi lại, hoặc đơn giản là ở cuối 'fillTree()'? –
@RoryMcCrossan cảm ơn, câu trả lời của bạn có vẻ là giải pháp tốt nhất có thể nhưng CMS của tôi đang sử dụng và cây được đặt trong một số tệp js khác mà tôi không can thiệp vì nó được sử dụng nhiều chức năng khác và các trường hợp có thể không phải lúc nào giống như –