# RAN011 Async value created and read in the owner that replaces it

`warning RAN011`: *`report` is created inside `createSuspense`'s body and read there; each run of the body disposes
`report` and starts a new flight.*

**Cause.** An owner body (a boundary, an owning memo, an effect, `createAsyncWith`) disposes the nodes it created
before each re-run. An async value created and read in the same body is replaced on every settle: the boundary shows
its fallback forever and starts a flight per settle.

**Fix.** Create the async value outside the owner and read it inside.

### Triggers

```fsharp
module Example

open System.Threading.Tasks
open Ranvier

let view () =
    createSuspense (fun _ -> 0) (fun () ->
        let report = createAsync (fun _ _ -> Task.FromResult 1)
        report.Value)
```

### Fixed

```fsharp
module Example

open System.Threading.Tasks
open Ranvier

let view () =
    let report = createAsync (fun _ _ -> Task.FromResult 1)
    createSuspense (fun _ -> 0) (fun () -> report.Value)
```

**Suppression.** `// fsharpanalyzer: ignore-line RAN011`, with the reason on the line before.
