Hyper do c несоответствие с asyn c в вызове make_service_fn - PullRequest
0 голосов
/ 26 апреля 2020

Я знаю, что asyn c является новым в ржавчине, Гипер пример показывает,

let make_svc = make_service_fn(|_conn| {
    async { Ok::<_, Infallible>(service_fn(hello)) }
});

Но документы показывают,

let make_svc = make_service_fn(|_conn| async {
    Ok::<_, Infallible>(service_fn(hello_world))
});

Есть ли разница между этими двумя конструкциями?

1 Ответ

1 голос
/ 26 апреля 2020

Это один и тот же код, только отформатированный по-разному. Поскольку async замыкания еще не существуют в Rust, оба примера используют замыкание, которое возвращает блок async. В примере № 1 блок начинается с новой строки внутри замыкания, тогда как в примере 2 блок начинается с той же строки, что и список аргументов замыкания.

...