return promise from setState endpoint #71
Closed
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.
The changelog for v4.2.0 lists "Add optional support for promises on all endpoints."
The documentation for what returns promises is basically non-existent, but I received an error when trying to do this:
The error I get is "EXCEPTION: Cannot read property 'then' of undefined", because pubnub.setState() doesn't return a promise like the hereNow(), whereNow(), and getState() endpoints.
After digging into the source a bit, I realized that the reason the function is not returning the promise is that the call to the endpoint built by the util is not actually being returned by _subsctiptionManager.adaptStateChange(), here, which should instead be this:
I also added an integration test to
stateSetting.test.jsto ensure that the promises succeed.