Support asynchronous invoke()'d functions #8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Similar to ngRoute's
resolve
property in route configuration, it should be possible to support asynchronous module dependencies in this fashion.I opened karma-runner/karma#851 on karma a while ago, but it seems like the simplest solution would be adjusting the DI mechanics.
I'll work on a patch for this, but it would be good to hear thoughts about it.
... hmmm I guess it's not easy to do this without changing the API :(
Would it be okay for
invoke()
to return a promise, so that it could wait for promises to be resolved? (realizing fully well that this would be a pretty breaking change)...
Alternatively, a similar approach to grunt --- call a module with a context containing a method like
async()
which would return a means to notify the caller that it was finished... and just block until everything is finished... although that might not necessarily work either. hmmm :(