- From: Brian Birtles via GitHub <sysbot+gh@w3.org>
- Date: Fri, 19 Jan 2018 08:23:45 +0000
- To: public-css-archive@w3.org
birtles has just created a new issue for https://github.com/w3c/csswg-drafts: == [web-animations-1] Should async playback methods return the `ready` Promise? == It's common when using the API to write: ```js anim.play(); anim.ready.then(() => { // do stuff }); ``` or, ```js anim.play(); await anim.ready; // do stuff ``` This would be much simpler if `anim.play()` simply returned the `ready` Promise so you could write: ```js anim.play().then(() => { // do stuff }); ``` or, ```js await anim.play(); // Do stuff ``` Likewise, of course, for `pause()`, `reverse()`, `updatePlaybackRate()`. We've discussed this in the past and the trouble has always been that we were concerned that people would assume that the Promise returned was the `finished` Promise and erroneously write: ```js anim.play().then(() => { // Animation is finished now, do cleanup. }); ``` My hunch is that the convenience of being able to wait on the result of `play()`, `pause()`, `reverse()`, and `updatePlaybackRate()` outweighs the risk that a few people will get it wrong but I'm not sure. I'm used to async methods being fine-grained but that might just be the APIs I tend to use. Perhaps a significant number of people would expect waiting on `anim.play()` to resolve when the animation was finished, I'm not sure. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2206 using your GitHub account
Received on Friday, 19 January 2018 08:23:47 UTC