Как разорвать цепочку обещанийIOS

Программируем под IOS
Ответить
Anonymous
 Как разорвать цепочку обещаний

Сообщение Anonymous »

У меня есть следующий код.

Код: Выделить всё

func myFunction() -> Promise {
firstly {
doSomeJob()
}.then { jobResult in
handleJobResult(jobResult)
}.then { handledResult in
return furtherJob(handledResult)
}
}
Он прекрасно работает. Теперь мне нужно его изменить. При некоторых условиях jobResult не должен обрабатываться и затем передаваться в continueJob. Вместо этого он должен пройти простую обработку.

Код: Выделить всё

func simpleJob(_ jobResult: MyJobResult) -> Promise { ... }

func myFunction() -> Promise {
firstly {
doSomeJob()
}.then { jobResult in
if jobResult.allowsSimpleProcessing {
return simpleJob(jobResult)
// furtherJob must not be called.
// I want to step out of chain of promises.
}
handleJobResult(jobResult)
}.then { handledResult in
return furtherJob(handledResult)
}
}
Другими словами, вместо исходной цепочки

Код: Выделить всё

doSomeJob
-> handleJobResult -> дальнейшее задание
должно быть

Код: Выделить всё

doSomeJob
-> simpleJob
Как мне это написать?

Подробнее здесь: https://stackoverflow.com/questions/798 ... f-promises
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»