Merge pull request #65 from MichaelRFairhurst/fix-await-void
Fix places awaiting void, for dart 2.
diff --git a/lib/src/async_cache.dart b/lib/src/async_cache.dart
index 8c25267..53084ca 100644
--- a/lib/src/async_cache.dart
+++ b/lib/src/async_cache.dart
@@ -37,13 +37,6 @@
/// Fires when the cache should be considered stale.
Timer _stale;
- /// Creates a cache that invalidates after an in-flight request is complete.
- ///
- /// An ephemeral cache guarantees that a callback function will only be
- /// executed at most once concurrently. This is useful for requests for which
- /// data is updated frequently but stale data is acceptable.
- factory AsyncCache.ephemeral() => new AsyncCache(Duration.zero);
-
/// Creates a cache that invalidates its contents after [duration] has passed.
///
/// The [duration] starts counting after the Future returned by [fetch]
@@ -51,6 +44,13 @@
/// event.
AsyncCache(this._duration);
+ /// Creates a cache that invalidates after an in-flight request is complete.
+ ///
+ /// An ephemeral cache guarantees that a callback function will only be
+ /// executed at most once concurrently. This is useful for requests for which
+ /// data is updated frequently but stale data is acceptable.
+ factory AsyncCache.ephemeral() => new AsyncCache(Duration.zero);
+
/// Returns a cached value from a previous call to [fetch], or runs [callback]
/// to compute a new one.
///
@@ -90,7 +90,9 @@
/// Removes any cached value.
void invalidate() {
+ // TODO: This does not return a future, but probably should.
_cachedValueFuture = null;
+ // TODO: This does not await, but probably should.
_cachedStreamSplitter?.close();
_cachedStreamSplitter = null;
_stale?.cancel();
diff --git a/test/async_cache_test.dart b/test/async_cache_test.dart
index 747835b..a4f452f 100644
--- a/test/async_cache_test.dart
+++ b/test/async_cache_test.dart
@@ -32,7 +32,7 @@
var completer = new Completer<String>();
expect(cache.fetch(() => completer.future), completion('Expensive'));
expect(cache.fetch(expectAsync0(() {}, count: 0)), completion('Expensive'));
- await completer.complete('Expensive');
+ completer.complete('Expensive');
});
test('should fetch via a callback again when cache expires', () {
@@ -58,9 +58,9 @@
var timesCalled = 0;
call() async => 'Called ${++timesCalled}';
expect(await cache.fetch(call), 'Called 1');
- await cache.invalidate();
+ cache.invalidate();
expect(await cache.fetch(call), 'Called 2');
- await cache.invalidate();
+ cache.invalidate();
expect(await cache.fetch(call), 'Called 3');
});
@@ -129,9 +129,9 @@
}
expect(await cache.fetchStream(call).toList(), ['Called 1']);
- await cache.invalidate();
+ cache.invalidate();
expect(await cache.fetchStream(call).toList(), ['Called 2']);
- await cache.invalidate();
+ cache.invalidate();
expect(await cache.fetchStream(call).toList(), ['Called 3']);
});
diff --git a/test/stream_queue_test.dart b/test/stream_queue_test.dart
index 32cc505..37dedb9 100644
--- a/test/stream_queue_test.dart
+++ b/test/stream_queue_test.dart
@@ -517,8 +517,8 @@
expect(await events.next, 1);
expect(controller.hasListener, isTrue);
- events.cancel(immediate: true);
- await expect(controller.hasListener, isFalse);
+ await events.cancel(immediate: true);
+ expect(controller.hasListener, isFalse);
});
test("cancels the underlying subscription when called before any event",