определенных условий, когда она уже запущена? Или к примеру, запустить её на обработку, в случае определенного условия, до выполнения которого она не должна начать работу.
Сейчас я в методе start() просто закостылил и добавил while цикл, который ждет определенных условий, если его не достигнул, заставляю Thread спать 0.3s. Явно решение так себе
Вторая идея: можно ли переопределить isReady, чтобы не сильно больно?
Т.е. к обычной реализации просто добавить ещё 1 условие
типо
override var isReady { isReady && isFooBar }
Сделать это условие тоже operation и добавит зависимость, или добавить операцию в отдельную очередь и сделать очередь suspended, так можно отсрочить запуск. Переопределить isReady так же просто, как и другие состояния операции, погугли асинхронные операции, там будут примеры реализации, но если вкратце, то создается свой enum и через kvc подменяются стандартные параметры, пишется буквально в пару строчек кода.
Обсуждают сегодня