1. Java / Говнокод #19673

    −30

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 22 Марта 2016

    Комментарии (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);
          });
          Ответить
        • Это тупо хачкельный bind в Async-монаде.
          Ответить
          • Ты счас так сказал, как-будто он поймет
            Ответить
          • Then тупо исполняется при успешном завершении промиса, а на ошибки автор забил большой и толстый?
            Ответить
            • При ошибке цепочка прерывается и возвращается из каждого промиса, включая последний. Обработчик ошибок можно навесить вторым параметром then в последнем промисе.

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

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

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