Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Cancellation #8

Open
bergus opened this issue Jun 20, 2016 · 2 comments
Open

Implement Cancellation #8

bergus opened this issue Jun 20, 2016 · 2 comments

Comments

@bergus
Copy link
Contributor

bergus commented Jun 20, 2016

Hi,
I'd love to implement promise cancellation in Creed, using the approach detailed in tc39/proposal-cancelable-promises#19. I want to do this as a proof of concept and just for fun, and chose your library for its readable source and large test-suite.

Would you like to see this as well? If no, I'll just maintain my own fork. If yes, how would you like the workflow to look like (feature-branches, how many pull requests, etc)?

Do you have any implementation tips? Any performance secrets? How would I best ask questions and get feedback from you?

Let's discuss technical details later.

@briancavalier
Copy link
Owner

Hey @bergus. I'm definitely open to it, and would be interested to see how it shapes up as you work on it. If we're both happy with the direction, I can see merging it. So, yeah, go for it :)

As for the best way to work on it, how about working in a fork (branching however you like there), until you have some minimal proof of concept working? It's not clear to me yet from reading tc39/proposal-cancelable-promises#19 how invasive of a change it will be, so it's hard to know about PR granularity, etc. yet. But I think we can figure that out as you work on it.

Just to be totally up front, I know I won't have much time to help right now, but I'll do my best to answer questions, give feedback, etc.

As for the best way to communicate, maybe we can do a mix of slow/fast? Maybe discuss code via an open PR in your fork, and maybe use a gitter chat (or slack, or whatever) for other discussions?

@bergus
Copy link
Contributor Author

bergus commented Jun 20, 2016

Thanks,
I've started with bergus@9281c8c :-) Then I'm going to make those actions cancellable, adding an optional token parameter to every method. I'll add a CancelToken implementation, pass tokens to the Future constructor (for determining cancellation status and thenable assimilation), add utility methods like finally, adapt the coroutine runner… Could be quite invasive.

Regarding code discussions, are you suggesting that I should open a PR for my fork in your repo? Or should I just open issues in my own repo, and you chime in there?

Gitter chat seems fine for everything else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants