Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Extjs. Первые шаги. (https://javascript.ru/forum/extjs/7922-extjs-pervye-shagi.html)

underW 26.02.2010 12:46

Extjs. Первые шаги.
 
Вот сейчас начинаю осваивать Extjs. Разбираюсь вот по этому руководству:
http://mytrouble.ru/category/extjs

и вот сейчас сделал примерчик, ну проще же не куда:
Ext.onReady
    (
        function()
        {
            Ext.Msg.alert("message 1");
            Ext.Msg.alert("message 2");
        }
             )

но на выходе получаю почему то вместо 2х алертов - только один: "message 2"

но если же выполнить вот такой код:
function()
        {alert("message 1");
            alert("message 2");
        }

то алерта будет два, как и положено.

В чем же проблема? где загвоздка?

Kolyaj 26.02.2010 12:57

В Ext'е одно окошко для алерта. Т.е. вызывая второй, первый закрывается. И Ext.Msg.alert асинхронный, т.е. поток выполнения не ждёт, пока пользователь нажмёт ok.

underW 26.02.2010 13:01

ааа, я понял, то есть на самом деле "message 1" выполнялось и его потом подвинул "message 2" :)

а как же тогда нам добиться нескольких последовательных алертов?
Возможно где то в настройках можно отключать асинхронность? Я в правильном направлении мыслю или не?

Kolyaj 26.02.2010 13:07

Цитата:

Сообщение от underW
а как же тогда нам добиться нескольких последовательных алертов?

Ext.Msg.alert('message 1', '', function() {
    Ext.Msg.alert('message 2');
});

underW 26.02.2010 13:10

о, работает :)

Kolyaj, спасибо Вам.

underW 26.02.2010 13:27

Цитата:

Сообщение от Kolyaj (Сообщение 46163)
В Ext'е одно окошко для алерта. Т.е. вызывая второй, первый закрывается. И Ext.Msg.alert асинхронный, т.е. поток выполнения не ждёт, пока пользователь нажмёт ok.

- ну если я правильно сейчас разобрался, то это не совсем так, асинхронным есть не именно сам объект Ext.Msg.alert, а Ext.Msg

Kolyaj 26.02.2010 13:31

Ext.Msg это объект, он не может быть асинхронным, асинхронной может быть функция.

И если уж на то пошло, то никакой асинхронности там нет. Ext.Msg.alert просто показывает сообщение, а не показывает сообщение и ждёт реакции пользователя.

underW 26.02.2010 13:37

Kolyaj, согласен - асинхронной есть функция, а не объект, согласен.


Note that the MessageBox is asynchronous. Unlike a regular JavaScript alert (which will halt browser execution), showing a MessageBox will not cause the code to stop. For this reason, if you have code that should only run after some user feedback from the MessageBox, you must use a callback function


Часовой пояс GMT +3, время: 05:25.