mirror of
https://github.com/actix/actix-website
synced 2025-01-22 16:15:56 +01:00
document how to start the app with state
This commit is contained in:
parent
5938691794
commit
14e47859a0
@ -62,6 +62,10 @@ When the app is initialized it needs to be passed the initial state:
|
|||||||
> must be constructed multiple times. If you want to share state between different threads, a
|
> must be constructed multiple times. If you want to share state between different threads, a
|
||||||
> shared object should be used, e.g. `Arc`. Application state does not need to be `Send` and `Sync`,
|
> shared object should be used, e.g. `Arc`. Application state does not need to be `Send` and `Sync`,
|
||||||
> but the application factory must be `Send` + `Sync`.
|
> but the application factory must be `Send` + `Sync`.
|
||||||
|
>
|
||||||
|
> To start the previous app, create it into a closure:
|
||||||
|
|
||||||
|
{{< include-example example="application" file="state.rs" section="start_app" >}}
|
||||||
|
|
||||||
## Combining applications with different state
|
## Combining applications with different state
|
||||||
|
|
||||||
|
@ -24,6 +24,18 @@ App::with_state(AppState { counter: Cell::new(0) })
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn start_app() {
|
||||||
|
// <start_app>
|
||||||
|
server::new(|| {
|
||||||
|
App::with_state(AppState { counter: Cell::new(0) })
|
||||||
|
.resource("/", |r| r.method(http::Method::GET).f(index))
|
||||||
|
}).bind("127.0.0.1:8080")
|
||||||
|
.unwrap()
|
||||||
|
.run()
|
||||||
|
// </start_app>
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
use actix_web::{server, HttpResponse};
|
use actix_web::{server, HttpResponse};
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user