Extjs关于alert显示不出—异步问题
對應extjs提示框不能正常顯示,而使用js的本身提示框可以正常,但由于樣式不統一,不是
好的解決方法。
解決該問題,要了解extjs異步原理。
ext的提示框都是異步的,非阻塞模式的,瀏覽器js的提示框是同步的,即是阻塞模式的。
也就是說:
Ext版的alert是異步執行,Ext.MessageBox.confirm()為異步。
JavaScript引擎是單線程的,強制所有的異步事件排隊等待執行。
異步執行是指Ext.Msg.confirm調用后不停留,繼續執行下面的代碼。
而回調在其它的JS執行任務中被調用,在回調函數實現同步。
Ext.Msg.alert 是異步的;
無論是否執行此句語句,調用后不停留,程序都先走下一句js語句。
而 js的alert是同步的,執行時系統會掛起等待用戶輸入。
例子:
Ext.MessageBox.confirm("提示","門票修改成功!");
window.win.close();
出現IE運行結果:沒有提示,頁面直接關閉。
正確的使用是采用回調函數,在回調函數運行接下來js語句:
Ext.MessageBox.confirm("提示","門票修改成功!",function(btn){
window.win.close();})
另外ext中store的load()、reload()也是異步,同樣需要經過回調函數解決代碼執行順序
問題。
轉載于:https://www.cnblogs.com/tuncaysanli/p/3332871.html
總結
以上是生活随笔為你收集整理的Extjs关于alert显示不出—异步问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 午托变“无偿加班”?家校拉锯战下,谁该为
- 下一篇: python3打包