有沒有什麼辦法在javascript中以最簡單的形式實現線程概念。 情況是,在我的應用程序中,如果用戶嘗試點擊一件事,任務可能需要很長時間,所以我想讓用戶做其他事情,如果任務完成,他可以獲得結果。 所以,如果任何人有任何想法,請回答。在Javascript中實現線程概念?
在此先感謝。
被修改
確切的情況是用戶點擊啓動PROCESSS,該過程需要在服務器側被執行,並且可以花費一些時間。所以我會每5或10秒鐘ping一次服務器來檢查這是否完成。意思是用戶可以做任何他想做的事情。
有沒有什麼辦法在javascript中以最簡單的形式實現線程概念。 情況是,在我的應用程序中,如果用戶嘗試點擊一件事,任務可能需要很長時間,所以我想讓用戶做其他事情,如果任務完成,他可以獲得結果。 所以,如果任何人有任何想法,請回答。在Javascript中實現線程概念?
在此先感謝。
被修改
確切的情況是用戶點擊啓動PROCESSS,該過程需要在服務器側被執行,並且可以花費一些時間。所以我會每5或10秒鐘ping一次服務器來檢查這是否完成。意思是用戶可以做任何他想做的事情。
使用網絡工作者:
網絡工作者是在後臺獨立於其他腳本的運行, ,不影響 頁面性能的腳本。你可以繼續做任何你想做的事情:點擊, 選擇東西等,而網絡工作者在後臺運行。
從http://www.w3schools.com/html/html5_webworkers.asp
這裏你可以看到一個例子:
http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_webworker
JavaScript是不是多線程的,雖然有使用asyc
S或setTimout
或setInterval
類似的情況,但這些是JavaScript中的功能,它與多線程應用程序沒有任何關係。
但概念HTML5
允許你在後臺做一些工作。
小心此功能目前不支持所有瀏覽器。
如果任務是在JavaScript中完成的,請使用webworker。 –
查閱'WebWorkers' - https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers – Lloyd
請注意,任務的性質可能會導致不同的答案。 –