首页 > 编程语言 >011 Rust 异步编程,返回错误

011 Rust 异步编程,返回错误

时间:2022-11-07 11:40:33浏览次数:72  
标签:异步 20 示例 futures 011 error foo Rust


在Rust异步块中,当发生返回错误的时,会是怎么样的呢?本节就这个知识点进行讲解。

示例

  • 源码
use futures;

async fn foo() {
"foo"
}

fn main() {
futures::executor::block_on(foo());
}
  • 配置文件
[dependencies]
futures = "0.3"

此示例报错如下:

error[E0308]: mismatched types
--> src/main.rs:20:2
|
20 | "foo"
| ^^^^^ expected `()`, found `&str`

error: aborting due to previous error

​在原书中​​的例子会出现相反的错误,很显然,该bug已经解决。


标签:异步,20,示例,futures,011,error,foo,Rust
From: https://blog.51cto.com/u_15862521/5828336

相关文章

  • 010 Rust 异步编程,使用 select 宏的条件
    使用select宏select中使用的Future必须实现Unpintrait和FusedFuturetrait。必须实现unpin的原因是,select中使用的future不是按值获取的,而是按照可变引用获取的,通过不获取f......
  • rustyline 介绍
    最近在写区块链的教学demo的时候,需要编写一个cli客户端和用户进行交互,最终找到了rustyline,按照官方的例子敲了一遍,觉得使用起来非常的舒适,因此推荐给大家。示例配置文件修改......
  • 009 Rust 异步编程,select 宏中的使用 default 和 complete
    说明在前一节,我们简单介绍了select宏。其实在select宏中,还可使用default和complete,前者表示没有分支完成,而后者则表示所有的分支都已经完成并且不会再取得进展的情况。示例......
  • 008 Rust 异步编程,select 宏介绍
    select宏select宏也允许并发的执行Future,但是和join、try_join不同的是,select宏只要有一个Future返回,就会返回。示例源码usefutures::{select,future::FutureExt,pin_mut......
  • 007 Rust 异步编程,通过 join 执行 Future
    前言在之前我们主要介绍了通过await和block_on执行Future,但是这两种方式实际上都是顺序执行的方式。.await是在代码块中按顺序执行,会阻塞后面的代码,但是此时会让出线程;block......
  • 006 Rust 异步编程,Stream 介绍
    Stream介绍​​Stream​​​和​​Future​​​类似,但是​​Future​​​对应的是一个​​item​​​的状态的变化,而​​Stream​​​则是类似于​​iterator​​​,在结束......
  • 005 Rust异步编程,Pin介绍
    为了对Future调用poll,需要使用到Pin的特殊类型。本节就介绍一下Pin类型。异步背后的一些原理例子1源码//文件src/main.rsusefutures::executor;asyncfnasync_function1()......
  • Rust 编程中使用 leveldb 的简单例子
    前言最近准备用Rust写一个完善的blockchain的教学demo,在持久化时考虑到使用leveldb。通过查阅文档,发现Rust中已经提供了使用leveldb的接口。将官方的例子修改了下,能够运行通......
  • 用Rust刷leetcode第八题
    ProblemImplement ​​atoi​​​ which convertsastringtoaninteger.Thefunctionfirstdiscardsasmanywhitespacecharactersasnecessaryuntilthefirst......
  • 023 通过链表学Rust之非安全方式实现链表1
    介绍视频地址:https://www.bilibili.com/video/av78062009/相关源码:https://github.com/anonymousGiga/Rust-link-list链表定义我们重新定义链表如下:pubstructList<T>{......