**Steps to reproduce** ``` final cache = AsyncCache<void>(const Duration(seconds: 1)); Future<void> function() async { debugPrint('called function'); cache.invalidate(); } await cache.fetch(function); await cache.fetch(function); await cache.fetch(function); ``` **Expected results** It should clear results. It would print 'called function' three times. At the very least the documentation should mention this behavior. **Actual results** It caches based on the timer. In the above code it would print a single 'called function'.