Swiftz уже предлагает Future, который является основным строительным блоком Promise. Будущее - это обещание, которое не может потерпеть неудачу (все термины здесь основаны на интерпретации Scala, , где Promise является монадой ).
https: // github. com / maxpow4h / swiftz / blob / master / swiftz / Future.swift
Надеюсь, что в какой-то момент мы сможем написать его в полной версии в стиле Скала (я могу написать это сам в какой-то момент; Конечно, другие PR будут приветствоваться, это не так сложно, если будущее уже на месте).
В вашем конкретном случае я, вероятно, создаю Примечания Result<[Book]>
(на основе версии Александроса Салазара Result
[/ д2]). Тогда ваша сигнатура метода будет: class func fetchGenres() -> Future
get
в Swift. Это нарушит определенные виды совместимости с ObjC. Book
, прежде чем возвращать результаты в качестве Future
. Существует несколько способов, с помощью которых эта система может выйти из строя, и гораздо удобнее, если вы проверите все эти вещи, прежде чем обернуть их в Future
. Переход к [Book]
намного лучше для остальной части вашего кода Swift, чем передача NSArray
.
Добавить новую услугу
dep:
image: elgalu/selenium
command: echo 0
restart: "no" # ensures it does not get recreated
Добавить в Zalenium
depends_on:
- selenium
- dep # ensures pull/launch order
Изображение можно вытянуть автоматически, если указать переменную среды
PULL_SELENIUM_IMAGE=true