У меня есть веб-приложение, где есть таймер, который постоянно подсчитывает. Между тем, клиент часто проверяет с сервером, чтобы узнать, добавлено ли больше времени на таймер. Код выглядит примерно так:
function tick() {
// This function is called once every second
time -= 1;
redisplay(time);
};
function update(newtime) {
// This function is called whenever the ajax request
// to the server yields a new time
time = newtime;
};
Это, конечно, немного сложнее, чем это, но вы можете видеть неотъемлемое состояние гонки. Что делать, если обновление и функция тика одновременно пытаются изменить time
?
Честно говоря, я не знаю почти достаточно javascript, чтобы понять, как справиться с этой проблемой concurrency: есть ли простой способ сделать это, или если нет, может кто-нибудь указать мне на ресурсы, где я могу научиться больше?
Спасибо.