Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   как прервать ajax-запрос, созданный jquery? (https://forum.antichat.xyz/showthread.php?t=122393)

Дикс 26.05.2009 15:42

как прервать ajax-запрос, созданный jquery?
 
возможно ли это?

MuXaJIbI4 26.05.2009 16:09

а зачем такое может понадобиться?

astrologer 26.05.2009 16:47

Цитата:

Сообщение от Дикс
возможно ли это?

Код:

jQuery.ajaxSetup({
  beforeSend: function(xhr, settings)
  {
    return false;
  }
});


Дикс 26.05.2009 16:54

мой скрипт таким образом реализует многопоточность
хотелось бы иметь над ней какой-то контроль

astrologer 26.05.2009 16:57

Цитата:

Сообщение от Дикс
мой скрипт таким образом реализует многопоточность

:eek:
Можешь рассказать принцип? Интересно же

PaCo 26.05.2009 19:22

Цитата:

Сообщение от astrologer
:eek:
Можешь рассказать принцип? Интересно же

Естественно речь идет о ПСЕВДО много поточности, интерпретатор JS выполняет все операции атомарно, вот примерчик(там они громко это называют много поточностью, на самом деле это не так) - http://javascript.ru/blog/tenshi/mnogopotochnyi-yavaskript

KaZ@NoVa 26.05.2009 21:55

Цитата:

Сообщение от Дикс
мой скрипт таким образом реализует многопоточность
хотелось бы иметь над ней какой-то контроль

По моему если уже чтото отправлено, то это можно отвести в сторону только на стороне сервера.
попробуй в случае отмены писать ему какой нибудь запрос типа
(cancel,id);
id - код нужного запроса.
но это реально заморочно очень)

astrologer 26.05.2009 22:11

Цитата:

Сообщение от PaCo
Естественно речь идет о ПСЕВДО многопоточности, интерпретатор JS выполняет все операции атомарно, вот примерчик(там они громко это называют много поточностью, на самом деле это не так) - http://javascript.ru/blog/tenshi/mnogopotochnyi-yavaskript

О, вообще-то, всё гораздо интереснее.
К сожалению, не могу найти сейчас обсуждение по теме - но ход мыслей был примерно такой:
1. JS выполняется строго последовательно, без исключений
2. Пришедший ответ с сервера (xhr) иногда может прерывать исполняющийся код. Функции никогда не прерываются.
3. Функции иногда прерываются.
4. Никогда не полагайтесь на то, что один кусок кода будет исполняться до или после другого.

Что касается многопоточности - ближайший её аналог будет доступен в виде Web Workers.
Сейчас опера и, похоже, только она даёт возможность реализовать многопоточность, запустив код во фрейме. (Судя по всему, исполняется действительно параллельно)

KaZ@NoVa, написано "прервать" - значит, всё ещё в процессе и можно вполне вызвать метод abort

Хотя, наверное, Дикс лучше знает, что он подразумевал

Дикс 27.05.2009 09:05

как правильно сказали на другом ресурсе - не прервать запрос, а перестать ждать от него ответа.
т.е. запустил я 50 одинаковых соединений. все они закончат выполняться хз когда и каждый из них может повлиять своим ответом на скрипт тогда, когда это уже не надо.

в фф я открываю файрбаг и вижу там открытые xhr
если нажать escape - они все останавливаются и помечаются как неоконченные.
примерно этого мне хотелось бы добиться программно.

я думал есть какой-то способ это сделать малой кровью.


Время: 12:09