Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2009, 16:25
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

вызов метода return для функции-родителя
Привет всем!Вопрос такой:
Есть функция
function Ok()
{
...
...
var myQueue = new Request.Queue();
myQueue.onSuccess = function(){
//Здесь при возникновения события надо
//сделать return true,только для функции Ok()
}
...
...
}

внутри нее создается объект myQueue (из mootools). Надо при возникновении события myQueue.onSuccess возвращать return true для функции Ok().
Пробовал разные варианты, более менее подходящий по смыслу из которых
var self=this
myQueue.onSuccess = function(){
with(self){
return true;
}
}
но ничего не помогло.Событие само срабатывает, а в Ok() ничего не возвращается! Помогите кто чем может!Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 21.01.2009, 16:34
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Когда сработает событие onSuccess, return уже случится.
Ответить с цитированием
  #3 (permalink)  
Старый 21.01.2009, 16:48
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

Не понял Вашего ответа. Когда сработает событие(метод) onSucces объекта myQueue случится выполнение функции
function(){
with(self){
return true;
}
}
по идее в теле функции в данном случае оператор
with должен применить к объекту self блок { return true;} и записать в результат родительской функции function Ok() значение true, но этого не происходит ,и ,видимо, оператор return true срабатывает для метода myQueue.onSuccess. Что делать то надо?
Ответить с цитированием
  #4 (permalink)  
Старый 21.01.2009, 17:02
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от evgen28
Не понял Вашего ответа.
function Ok() {
...
...
  var myQueue = new Request.Queue();
  myQueue.onSuccess = function(){
    // чем выполнится это место
  }
  // Вот это место выполнится раньше
  ...
  ...
}
Ответить с цитированием
  #5 (permalink)  
Старый 21.01.2009, 17:12
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

Ну это понятно, что onSuccess выполнится позже, но мне надо подождать, пока не выполнится onSucces, а когда он выполнится, вернуть в результат функции значение true. Можно это как-нибудь организовать правильно?Или в цикле по таймауту проверять значение какой-нибудь заранее заданной переменной типа

function Ok() {
...
...
var returner = false;
var myQueue = new Request.Queue();
myQueue.onSuccess = function(){
returner= true; }


...
...
while(!returner){
setTimout('',1000);
}
return true;
}
Правда так вешается сценарий...
Есть какие-нибудь предложения?
Ответить с цитированием
  #6 (permalink)  
Старый 21.01.2009, 17:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от evgen28
while(!returner){
setTimout('',1000);
}
Ого. Я бы тоже повесился.

Сообщение от evgen28
Есть какие-нибудь предложения?
Почитать про асинхронное программирование. На этом сайте много полезных статей.
Ответить с цитированием
  #7 (permalink)  
Старый 21.01.2009, 21:41
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

зачем тебе нужно, чтобы именно Ok получила результат?
расскажи о задаче более высокого уровня
функция Ok - не родительская, она разве что "родительская"
Ответить с цитированием
  #8 (permalink)  
Старый 22.01.2009, 03:33
PsychodeliC
 
Сообщений: n/a

обалдеть завернул, слушай, x-juri, мы можем иметь общих знакомых по николаескому политеху?
Ответить с цитированием
  #9 (permalink)  
Старый 22.01.2009, 10:06
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

Короче все понятно!Если не можете ответить на вопрос, то не надо отправлять на форумы и читать литературу-это и без Ваших рекомендаций понятно!Чё за люди?Приходишь с прямым вопросом, а они ходят все вокруг да около, да еще пытаются показать какие они умные!
ГРАЖДАНЕ! ФОРУМЫ ДЛЯ ТОГО И СУЩЕСТВУЮТ, ЧТОБЫ ПОМОЧЬ ДРУГИМ ЛЮДЯМ РАЗОБРАТЬСЯ! А ТЕШИТЕ СВОЕ САМОЛЮБИЕ И ПОКАЗЫВАЙТЕ СВОЮ ГНУСНОСТЬ ПОЖАЛУЙСТА ДОМА!А ТО ЧТО НЕ ФОРУМ, ТО УМНИКИ!СОЦИУМ,БЛИН!!!
Ответить с цитированием
  #10 (permalink)  
Старый 22.01.2009, 10:10
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

А надо мне это, потому что правлю FCKEditor,добавляю туда дополнительные свойства и события, привяываю к нему mootools и БД. Функция Ok()- это функция закрытия окна настройки элементов FCKEditor. И срабатывать она должна после выполнения очереди запросов. Иначе запросы могут не обновить инфу в БД.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Применение функции для каждого элемента sergeygerasimov jQuery 2 26.11.2008 11:15
Вызов скрипта для Opera Andrew_S Общие вопросы Javascript 8 25.09.2008 12:23
Вызов функции zxc Общие вопросы Javascript 6 15.09.2008 11:56
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44
Вызов функции из файла. Phoenix Общие вопросы Javascript 2 21.11.2007 22:49