- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
#[page]
pub async fn page(cx: &Cx) -> Result<impl View> {
// This state variable is initialized on the server, but lives in the browser.
let count = signal(cx, || 0i32);
Ok(view! {
<button @click=$(|_e| count.increment())>"increment"</button>
<button @click=$(|_e| count.decrement())>"decrement"</button>
// The count updates when clicking the buttons. No server roundtrip.
<div>$(count.get())</div>
})
}
Follow us!
Это такой реакт как я опнима, судя по
?
beograd.jp
В самом языке есть ключевое слово async и ключевое слово await.
Первое превращает функцию в контиюейшен, второе его ждет
Но нужно чтобы кто-то контиюейшены крутил, кто-то должен работать шедулером этой сраной копроративной многоазадачности, вот это и делает токио
И поскольку в все IO функции блокирующие могут поставить крутилку корутин в интересное положение, токио тупо реализовало свой клон куска стандарной либлиотеки в ее асинхронном исполнениии
Ко по мне, так это пахнет отсосом. В говняшечке лучше сделано, там в говнорутие блокирующая функция сама превращается в асинхронку
В коко нет, но там хоть эвейт писать не надо, а в рустне как-то вообще не кузяво
Смешнее всего с корутинами обошелся любимый язык Золотого Хуя: там их буквальнов ручную надо крутить (вызывая типа resume)
PS: А еще токио поддерживает трап, разумеется. Они даже книжку написали.
В нем нет никаких "async"