я хочу, чтобы запустить некоторые операции задачи с завершенияcontinuation- последовательнокак сделать последовательную форму задачи асинхронных
, например я хочу, чтобы выполнить getSomethingsWithResultWithCompletion
метод 3 раза, как преобразованные в последовательную форму задачи (например, op1 op2 зависит,. .. висимость оп N):
[MFLayer getSomethingsWithResultWithCompletion:^(id _Nullable response)Completion {
// it will be run on another thread!**
[MFRequestManager retrivesomeDataWithCompletion:^(id _Nullable response1) {
// it will be run on another thread!**
[MFRequestManager retriveAnothersomeDataWithInfo:response1 WithCompletion:^(id _Nullable response2) {
NSLog(@"Finished with Result : %@",response2);
}];
}];
}];
Проблема
если retrive methods
выполнить в другом потоке (например, отправить запрос с AFNetworking) У меня возникла проблема с сериализацией, и будет запущена другая задача.
я есть попробовать с NSOperationQueue и семафор, но все еще есть проблемы
Я реализовал что-то подобное с NSOperationQueue
и NSOperation
, но реализация них работают на том же потоке, поэтому все задачи начинают последовательно, так что это работает отлично , operationQueueExample
Не могли бы вы изменить методы «retrive» для «извлечения»? – gnasher729