Adding async-await for generateId function#485
Closed
efkan wants to merge 6 commits intosocketio:masterfrom
efkan:patch-1
Closed
Adding async-await for generateId function#485efkan wants to merge 6 commits intosocketio:masterfrom efkan:patch-1
efkan wants to merge 6 commits intosocketio:masterfrom
efkan:patch-1
Conversation
When providing an Id from an in-memory database, accessing the database over the network and getting the id may cause to skip `id` assignment. In this case id will be `undefined`. Because of this reason engine.io fall into an endless loop. To overcome this issue async-await combination can be used. Also async-await solution is not a breaking change.
Member
|
How about: this.generateId(req, function (id) {
// ...
}); |
Contributor
Author
|
@darrachequesne , it didn't come to mind! On the other hand I would have to wrap the rest of the code into a callback function. Thank you! |
Contributor
Author
|
I couldn't pass the tests on Travis. |
Contributor
Author
|
@darrachequesne , I've tried to commit my PR. Unfortunately with a callback it throws different error. They may be reletad with As a result, I gave up for now. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When providing an Id from an in-memory database, accessing the database over the network and getting the id may cause to skip
idassignment.In this case id will be
undefined. Because of this reason engine.io fall into an endless loop.To overcome this issue async-await combination can be used.
The kind of change this PR does introduce
Current behaviour
generateIdmay be skipped asundefinedbecause of id generating operations.New behaviour
By using
awaitoption,handshakemethod can be waited to completegenerateId()function.Other information (e.g. related issues)
However,
async-awaitcombination doesn't work on former Node.js versions.