Dojo Отложенная цепочка - PullRequest
       17

Dojo Отложенная цепочка

2 голосов
/ 12 января 2012

У меня возникают проблемы, когда я не могу понять, как заставить Dojo Deferred работать для следующего сценария. По сути, у меня есть функция, которая должна циклически проходить через несколько элементов и обрабатывать каждый элемент в отдельности отложенным образом. Он выполняет обработку каждого элемента в отдельном методе, который возвращает Deferred, когда это будет сделано. Я хочу иметь возможность выполнить цикл, чтобы выключить и обработать каждый элемент и сообщить об успехе или неудаче, когда это будет сделано. Вот что я получил в качестве тестового образца:

http://jsfiddle.net/Ayyoudy/mgv6Y/12/

Что я делаю не так? Я ожидаю, что выходные числа будут в последовательности, но это не так.

Я также хочу иметь возможность определить, есть ли ошибка при обработке одного из элементов, и если нет, то не обрабатывать остальные.

Спасибо

1 Ответ

2 голосов
/ 12 января 2012
  1. Я решил, что номер выхода должен быть в последовательности. http://jsfiddle.net/granjoy/mgv6Y/17/ В вашем коде есть пара проблем

    • Функция зацикливания должна использовать замыкание для хранения переменной.
    • Вы должны использовать проверенный возврат Отложено сейчас процесс Отложено
  2. Учитывая, что функция process () будет немедленно завершена, поэтому журнал "завершил обработку всего!" будет первым выводом.

Edit:

Я учусь на этом вопросе. Спасибо, автор дает еще одно хорошее решение. http://jsfiddle.net/Ayyoudy/mgv6Y/14

...