因此,當eval(數據)完成時,您將如何設置回調?是否可以向eval(數據)添加回調;?
4
A
回答
7
Eval不是異步的,所以你不需要回調。把你的函數調用放在下一行。
您正在執行的腳本可能會執行一些異步操作,在這種情況下,您需要解析JS,找到異步代碼並向其添加回調(以字符串形式)。
最好儘量避免eval。這幾乎從來都不是問題的正確解決方案。
1
只需將要在回調中執行的代碼放入要評估的數據中即可。當然,如果在評估數據中有一些異步運行的動態生成函數,則會遇到問題。
+0
我試圖超出'data' – Trip 2010-09-29 15:28:23
+1
爲什麼?你可以用用戶數據+ ='my_function();' – 2010-09-29 15:31:35
1
eval(data)
是一個阻塞呼叫。您只需在eval()
調用後放置「回調」代碼,並在eval()
完成後執行。
相關問題
- 1. 是否可以向addEvenlistener添加回調?
- 2. 是否可以向CDN添加邏輯
- 3. 是否可以添加類?
- 4. 是否可以向@Query參數添加通配符?
- 5. 是否可以在Android上向SharedPreferences添加數組或對象
- 6. Nginx proxy_pass:是否可以向URL添加一個靜態參數?
- 7. 是否可以向事件方法添加其他參數?
- 8. 每次調用構造函數時,是否可以向arrayList添加項目?
- 9. 是否可以爲所有jQuery post調用添加參數?
- 10. 是否可以向數據透視表(Excel Interop)添加手動分頁符?
- 11. 是否可以使用從jsonp調用返回的「壞」數據?
- 12. 是否可以加速向DOM添加一組元素?
- 13. quartz.net - 我可以不向JobExecutionContext添加回調委託方法嗎?
- 14. 是否可以在api調用表單數據中添加文件?
- 15. 是否可以將數據添加到DataTable事件?
- 16. 是否可以將自定義數據添加到HealthKit?
- 17. 是否可以在postgresql中添加表格元數據?
- 18. 是否可以將數據庫元素添加到Google任務?
- 19. 是否可以將自定義元數據添加到SQLite列?
- 20. 是否可以將模板添加到數據類的getter/setter?
- 21. 是否可以在Google的數據表中添加鏈接?
- 22. 是否可以同時在一列中添加多個數據?
- 23. 是否可以在PHP中動態添加數據成員?
- 24. 是否可以添加自定義的元數據文件
- 25. 向Redux Reducer添加回調
- 26. 向庫中添加回調函數
- 27. Node.js + Mongodb:是否可以對從數據庫返回的數據調用'save'?
- 28. 當兩者都是模塊時,是否可以向getfenv(2)添加函數?
- 29. 是否可以向Microsoft Access添加動畫
- 30. 是否可以向樹節點添加值?
對於eval(data)來說,這是一個很好的選擇,因爲我在加載js後調用異步請求。但是如果我清理了我的XSS,還有什麼需要擔心的嗎?你有什麼建議嗎? – Trip 2010-09-29 15:33:56
eval很難調試,有確定範圍的問題,而且速度很慢。我不能提出一種替代解決方案 - 我不知道這個問題,只有你認爲可以解決的問題。 – Quentin 2010-09-29 15:37:17
+1爲「最好避免評估eval」。 Eval可能會產生一堆問題(包括安全風險,使代碼縮小等非常困難)。 – JasCav 2010-09-29 15:42:58