Comments (3)
Hi Michael,
There's a section in the docs on how the dispatch group can help with testing. And you can use any dispatch queue, including a concurrent one to run the work
block. E.g. see how one is set as a default. Afaik, the dispatch_async
API guarantees it always completes before the block argument gets control.
Thanks.
from promises.
Hi @shoumikhin ,
Thanks a lot for your help.
I am not sure what you meant by
Afaik, the dispatch_async API guarantees it always completes before the block argument gets control.
My point was, assuming u have a lot of nested then:
following the async:
, how u guarantee the work inside the async:
wont start its execution before the nested then:
have all bee finished and all the promises are ready to run their observers code? (Am I making my question clear? I mean is my concern legit).
Another point (out of curiosity ) u r always using dispatch with groups, what was the the benefit to use groups over just dispatch_async? I mean I dont see see and wait or notify for those groups later on
from promises.
@shoumikhin
Sorry too bothering you but for instance if I have the following test:
- (void)testAsyncDifferentQueues {
dispatch_queue_attr_t attributesPromise = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL,QOS_CLASS_USER_INITIATED,0);
dispatch_queue_attr_t attributesRunFrom = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL,QOS_CLASS_BACKGROUND,0);
dispatch_queue_t serialForPromise = dispatch_queue_create("serial.promise", attributesPromise);
dispatch_queue_t serialRunFrom = dispatch_queue_create("serial.runFrom", attributesRunFrom);
[FBLPromise setDefaultDispatchQueue:serialForPromise];
dispatch_async(serialRunFrom, ^{
[[FBLPromise async:^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock __unused _) {
fulfill(@42);
}] then:^id (id value) {
NSLog(@"do I come here");
return nil;
}];
NSLog(@"Should finish before then");
});
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
}
What guarantee that "Should finish before then" will be done before "do I come here".
it indeed what happens but I am not sure what guarantee that. dispatch_group_async
?
from promises.
Related Issues (20)
- Sometimes Post Request Timeout HOT 6
- FBLPromises crashing HOT 2
- Question. Is it possible to change the delay time between retrys?
- Bug in iOS 16 DevBeta1 HOT 13
- Extremely slow compile time of Objective-C files
- Contextual type for closure argument list expects 1 argument, which cannot be implicitly ignored
- Objective-C Promises crashes in SwiftUI previews HOT 3
- ios 16 strings convertible to NSError HOT 1
- FBLPromises fails to load building macos flutter app HOT 2
- 'NSInvalidArgumentException', reason: '-[FBLPromise HTTPBody]: unrecognized selector sent to instance HOT 1
- Confused when retry a Promise variable
- type(of: value) is NSError.Type HOT 1
- Bitcode Issue on Xcode 13 when disable it. HOT 1
- Ignore a certain Error and terminate Promise HOT 5
- Please release a new version of promises that includes latest changes for Firebase HOT 4
- Builds including PromisesSwift failing on CI
- Build fails for macOS with Xcode 14.3
- Create releases for new versions HOT 1
- The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 12.0 to 17.0.99.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from promises.