You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Improve error when signal isn't passed down correctly to a sub-CAF #29
Thank you (again!) for this great project. It's a lifesaver if you need to timeout Promise-based code. 🙏
I just wanted to document a potential improvement. We have code that uses CAF to add timeouts around async code. Within one CAF function we pass signal down to sub-CAF functions. This lets us separate async logic but still have it elegantly timeout.
But! If you forget to pass signal down to a sub-CAF function that expects it, a fairly unhelpful error is show:
Code example
// within a CAF function, call a sub-CAF function, but we forgot to pass `signal`yieldthis.getAndSyncUsers(syncRequest,conversationMembers.members,seenUsers);// signature for the sub-CAF function, but we forgot to accept `signal`staticgetAndSyncUsers=CAF(function*getAndSyncUsers(syncRequest: SyncRequest,users: Array,seenUsers: Object,){// ...implementation...});
Activity
getify commentedon Mar 29, 2022
Thanks for the helpful suggestion. Will keep this in mind for the next update. :)