月小泪的TypeScript学习笔记(二)——TS使用async/await方法

async/await方法在Typescript中的实现

async/await方法是ES6新增的方法,自然在Typescript也是可以用的。

加上async关键字的函数将会变成异步函数,意思就是xxx

给出一个实例:

async function hello(): Promise<string> {
    return "hello1";
}
 
hello().then(value => {
        console.log(value);
    }).catch(err => {
        console.error(err);
    });
 
console.log('hello2');

这段代码跑出来的结果将会是:

hello2

hello1

上述代码可以看出async函数返回的是一个Promise对象,使用then方法添加回调函数然后可以输出值。但代码不是顺序执行的,而是先走的“hello2”然后再走“hello1”,原因是then方法这个回调函数需要TS进入相应事件后才会被执行,所以“hello2”会提前被输出出来。

await关键字则需要和async关键字一起使用才能发挥作用,比如在一个异步函数体内,我们加入await关键字进行代码改修:

async function hello(): Promise<string> {
    return "hello1";
}
 
async function main(): Promise<void> {
    try {
        const value = await hello();
        console.log(value);
    } catch (err) {
        console.error(err);
    }
 
    console.log('hello2');
}
 
main();

输出的结果将会变成如下形式:

hello1

hello2

await意思就是等待,异步函数体内等待await之前代码走完后再走后面的代码。

注意代码里改修的时候加入的try-catch语句,这是因为await命令后的Promise对象,运行会有rejected的情况出现,所以把await命令放在try-catch中。

 

  • 10
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值