Показать сообщение отдельно
  #4 (permalink)  
Старый 27.06.2016, 06:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Можно, при этом писать под каждый запрос сервера свой асинхронный запрос не обязательно. Вряд ли ваш последовательность бесконечна, а значит, если каждая myAction(); индивидуальна, то их можно описать под именами связанными с параметром запроса. А каждый асинхронный запрос отличается как раз только значением этого параметра, как "руководство" для сервера и клиента.

Можно и таймер, но если период запросов мал, то лучше запускать следующую myAction(); после завершения предыдущего запроса, который опираясь на параметрах текущего запроса вызовет следующий myAction(); Например:

var f = {
    exe1 : function() {
          requestServer(2)
    },
    exe2 : function() {
          requestServer(3)
    },
    exe3 : function() {
          alert('End')
    }    
}

function requestServer(p) {
    //асинхронный запрос с параметром var=p
    //получили и обработали ответ, запустили функцию f['exe'+p]()
}


Либо иначе, по иным условиям, запускайте свои myAction().
Ответить с цитированием