Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Использование переменной после onData (http://www.flasher.ru/forum/showthread.php?t=132437)

FreShBY 11.11.2009 22:18

Использование переменной после onData
 
Здравствуйте.
Я про забадался сегодня искать в гугле и тому подомном ответ на вопрос. Поэтому пишу тут:

Имею скрипт AS:
Код AS1/AS2:

        var signature:LoadVars = new LoadVars();
        signature.onData = function(text:String):Void
        {
                _global.signatureString = text;
        };
        trace(_global.signatureString);
        signature.sendAndLoad('http://127.0.0.1/test.php');

И скрипт PHP:
PHP код:

<?php
echo "Im Signature String";
?>

Мой вопрос: почему не срабатывает
Код AS1/AS2:

trace(_global.signatureString);

и пишет undefined ?

Kuruki 11.11.2009 22:36

Потому что onData вызывается асинхронно и на момент трейса еще не была вызвана

FreShBY 11.11.2009 22:39

Цитата:

Сообщение от Kuruki (Сообщение 864907)
Потому что onData вызывается асинхронно и на момент трейса еще не была вызвана

Как решить данную проблему?

Kuruki 11.11.2009 22:42

Код AS1/AS2:

var signature:LoadVars = new LoadVars();
signature.onData = function(text:String):Void
{
        _global.signatureString = text;
        trace(_global.signatureString);
}
signature.sendAndLoad('http://127.0.0.1/test.php');


FreShBY 11.11.2009 22:43

:)))))))
похоже вы меня не понели, я то вкурсе что так всё покажет, но мне потом _global.signatureString нужно использовать в других функция. А оно пустое

Kuruki 11.11.2009 22:46

вызывать другие функции после наступления onData

FreShBY 11.11.2009 22:51

Пример можно?

Kuruki 11.11.2009 22:58

Ну вообще-то показал уже на примере трейса, но вот еще один
Код AS1/AS2:

var signature:LoadVars = new LoadVars();
signature.onData = function(text:String):Void
{
        _global.signatureString = text;
        showSignature();
}
signature.sendAndLoad('http://127.0.0.1/test.php');
 
function showSignature():Void
{
        someTextField.text = _global.signatureString;
}

А если вызвать showSignature не в обработчике, то в поле выведется undefined


Часовой пояс GMT +4, время: 01:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.