Существует ли корректный способ 'уступить' в совместном смысле поточной обработки в JavaScript?

Поскольку Вы сказали, что средство выбора Даты легко, там существуют многие.

Что касается средства выбора Времени, проверьте, как Google Calendar делает это при создании новой записи. Это позволяет Вам вводить в чем-либо, в то время как одновременно это имеет выпадающее в 30 минимальных инкрементах. Выпадающие изменения, когда Вы изменяете минуты.

, Если необходимо позволить пользователю выбирать секунды, тогда лучшее, можно сделать, typable/drop вниз комбинация

6
задан user47741 20 September 2009 в 21:31
поделиться

2 ответа

Использование setTimeout с очень маленьким таймаутом ( 0 или почти нулевым, если вы чувствуете себя параноиком) - единственный способ сделайте это в контексте браузера. Он работает очень хорошо и очень надежно, но обязательно срабатывайте достаточно часто, но не слишком часто , так как на то, чтобы вернуться к вам, нужно время («некоторое время» в компьютерном смысле, конечно ; это почти мгновенно [по модулю других вещей, которые вы, возможно, делаете] в человеческих терминах).

8
ответ дан 9 December 2019 в 22:37
поделиться

Убедитесь, что вы используете асинхронный запрос, поскольку синхронный запрос блокирует браузер (что объясняет блокировку графического интерфейса пользователя).

Если это не ваша проблема, я думаю, вы хотите что-то вроде этой очереди задач.

var queue = [];

queue.push(someTaskFunction);
queue.push(anotherTaskFunction);
// ...

var runQueue = (function () {
    var len = queue.length, task = 0;
    for (; task < len; task++) {
        yield queue[task]();
    }
}());

Вызов runQueue.next () для выполнения следующей задачи. Оберните его в оператор try..catch как таковой:

try {
    runQueue.next();
} catch (e if (e instanceof StopIteration)) {}
3
ответ дан 9 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: