Jawa / Говнокод #19673 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
private JsPromise<Void> setData(final JsEditorData data) {
	return setTag(data.getTag()).then(new ResolveCallback<Void, Void>() {
		@Override
		public JsPromise<Void> onResolve(final Void value) {
			return setFont(data.getFont());
		}
	}, null).then(new ResolveCallback<Void, Void>() {
		@Override
		public JsPromise<Void> onResolve(final Void value) {
			return setLines(data.getLines());
		}
	}, null).then(new ResolveCallback<Void, Void>() {
		@Override
		public JsPromise<Void> onResolve(final Void value) {
			setLayout(data.getLayout());
			setEdited(data.isEdited());
			return null;
		}
	}, null);
}

Промисы и GWT выглядят страшно вместе.

Запостил: someone someone, (Updated )

Комментарии (15) RSS

  • И чё тебе не нравится? Правда не понял почему нельзя было без кучи then это сделать?
    Ответить
    • А как это работает? типа возвращается функция, которая возвращает функцию из then, которая возвращает функцию из then и до утра?
      Ответить
      • Как жабаскриптовый Promise.

        return setTag(data.tag).then(function() {
            return setFont(data.font);
        }).then(function() {
            return setLines(data.lines);
        }).then(function() {
            setLayout(data.layout);
            setEdited(data.edited);
        });
        Ответить
        • Then тупо исполняется при успешном завершении промиса, а на ошибки автор забил большой и толстый?
          Ответить
          • При ошибке цепочка прерывается и возвращается из каждого промиса, включая последний. Обработчик ошибок можно навесить вторым параметром then в последнем промисе.

            В общем, RTFM 🙂
            Ответить
            • Мне вот лично нравятся CPS-tasks. Я именно часто пользуюсь в крестах и шарпе. Особенно удобно в WPF через async await, чтобы не блокировать главный поток формы. Можно конечно просто через треды, но это не модно, поэтому я такое минимизирую
              Ответить
            • Ну это и называется - забить большой и толстый. Как на ошибки, так и на гарантию выполнения кода.

              Я понял как работает сие
              Ответить
  • Пару лет назад Google Chrome плагин для gwt.codesvr перестал работать у меня. С тех пор чтото изменилось? как теперь дебагается GWT?
    Ответить
    • man SuperDevMode. Классический DevMode давно уже deprecated и в современных браузерах не работает.
      Ответить
      • неужели реально пишите на GWT?
        я последний раз на нем в 2009м году писал
        Ответить
  • - Чай, в техникуме лоботрясов тоже держать не будут, - продолжала пустой разговор мать.
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8