Skip to content

Commit

Permalink
Clarify that runWithClient must be called for every isolate
Browse files Browse the repository at this point in the history
  • Loading branch information
brianquinlan committed Dec 4, 2023
1 parent f585947 commit e7b8242
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion pkgs/http/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,8 @@ In Flutter, you can use a one of many
If you depend on code that uses top-level functions (e.g. `http.post`) or
calls the [`Client()`][clientconstructor] constructor, then you can use
[`runWithClient`](runwithclient) to ensure that the correct
`Client` is used.
`Client` is used. Since [isolates][isolate] cannot share mutable state, you
must call [`runWithClient`](runwithclient) at the start of every isolate.

You can ensure that only the `Client` that you have explicitly configured is
used by defining `no_default_http_client=true` in the environment. This will
Expand Down Expand Up @@ -283,6 +284,7 @@ $ dart compile exe --define=no_default_http_client=true ...
[fetchclient]: https://pub.dev/documentation/fetch_client/latest/fetch_client/FetchClient-class.html
[flutterhttpexample]: https://github.com/dart-lang/http/tree/master/pkgs/flutter_http_example
[ioclient]: https://pub.dev/documentation/http/latest/io_client/IOClient-class.html
[isolate]: https://dart.dev/language/concurrency#how-isolates-work
[flutterstatemanagement]: https://docs.flutter.dev/data-and-backend/state-mgmt/options
[provider]: https://pub.dev/packages/provider
[runwithclient]: https://pub.dev/documentation/http/latest/http/runWithClient.html

0 comments on commit e7b8242

Please sign in to comment.