Avoid late
diff --git a/lib/src/io_client.dart b/lib/src/io_client.dart
index 4d4dd92..fe2f849 100644
--- a/lib/src/io_client.dart
+++ b/lib/src/io_client.dart
@@ -35,14 +35,14 @@
     var stream = request.finalize();
 
     Timer? timer;
-    late void Function() onTimeout;
+    void Function() onTimeout;
     if (timeout != null) {
-      timer = Timer(timeout, () {
-        onTimeout();
-      });
       onTimeout = () {
         completer.completeError(TimeoutException('Request aborted', timeout));
       };
+      timer = Timer(timeout, () {
+        onTimeout();
+      });
     }
     try {
       var ioRequest = (await _inner!.openUrl(request.method, request.url))