Hi folks,
Couple of issues I've bumped into recently while looking at Service Workers
more closely.
1. e.respondWith + e.waitUntil.
I feel like those are strong code smells we haven't found the right design
for yet.
I have a suggestion for waitUntil[1]. None yet for respondWith, but plan to
tinker with it in the upcoming weeks. I like Anne's express.js inspired
suggestions.
2. Cache.add feels misnamed and/or heavily magic.
- I'm not sure handling atomic fetches should happen at this layer.
- Doing so shouldn't be too difficult to build given the right primitives
(fetch + Promise.all)
- It's unclear whether the promise returned by Cache.add is resolved with
responseArray or with void (WebIDL reads Promise<any>, algo doesn't mention
resolving ith responseArray). Same issue for Cache.put.
3. It should be a lot easier to prime the cache after a cache miss.
Currently the solutions I've tried are less than desirable[2]. Would like
something like this[3] to work.
Not sure what the best medium is to discuss/help with these issues. Maybe
in person?
LMK.
--tobie
---
[1]:
https://github.com/slightlyoff/ServiceWorker/issues/256#issuecomment-47878042
[2]:
https://gist.github.com/tobie/0689c5dda8f6d49d500d#file-gistfile2-js-L25-L32
[3]:
https://gist.github.com/tobie/113280d3b3db714dc199#file-gistfile1-js-L27