BFTask
è stato un bene per me, ma ho una lamentela: non ho ancora visto un esempio funzionante di come si dovrebbe fare un compito cancel
. L'insieme della documentazione sull'argomento si trova su their GitHub page con una singola sezione bassa che include tutto tranne la parte che mi interessa: come per annullare l'attività.Implementazione di attività che possono essere annullate in Bolts Framework (BFTask)
// Somewhere else.
MYCancellationToken *cancellationToken = [[MYCancellationToken alloc] init];
[obj doSomethingComplicatedAsync:cancellationToken];
// When you get bored...
[cancellationToken cancel];
loro frammento di codice è seguito da:
Nota: L'annullamento di token attuazione dovrebbe essere thread-safe.
Mi chiedo quanto segue:
- C'è una buona ragione che essi non possono aver fornito il metodo
cancel
sull'interfacciaBFTask
stessa? Hanno una proprietà che rappresenta se l'attività è stata annullata, ma non c'è modo di annullarla. - C'è una buona ragione che non includano una proprietà
cancellationToken(s)
nello stessoBFTask
? - L'implementazione di
cancel
è strettamente correlata all'attività stessa? O è possibile un'implementazione generale come nel caso dicancelAllOperations
di unNSOperationQueue
?