第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第2天 前端工程師2022版

標(biāo)簽:
JavaScript

课程名称:async 函数


课程章节:async 函数的返回值、 async 函数的各种形式 和 async 函数的注意事项

课程讲师: Alex

课程内容:

1、 async 函数的返回值

我们先写一个普通函数,看看它的返回值是什么

function fn(){
//return undefined
}
console.log(fn());   //undefined

通过看控制台可以看出,打印的是undefined 虽然函数里没写 return ,但是我们一般默认它 return undefined

好了,现在,我们在函数前面加上async 把它变成async 函数,再来看看它返回的是什么

async function fn(){
   return (123)
}
console.log(fn());

看图可知,返回的是 promise 对象

所以 async 函数的返回值是 Promise 对象https://img1.sycdn.imooc.com//63176ece000197af07880190.jpg

如果返回的不是promise对象,就相当于在外面包了一层promise

https://img1.sycdn.imooc.com//63176efa0001cc6810290315.jpg

如果嫌繁琐还可以写成

https://img1.sycdn.imooc.com//63176f1100010f1005400260.jpg

async 函数内部 return 后面的值,如果不是 Promise 对象,相当于包了一层 Promise.resolve() 再返回;如果是promise对象就直接返回该 Promise 对象

2、 async 函数的各种形式

函数声明

function fn(){}  //普通函数
async function fn(){} //异步

函数表达式

const fn = function(){}  //一般
const fn = async function(){}

箭头函数

const fn = () => {}  //一般
const fn = async () => {}
const fn = param => {}  //有参数情况
const fn = async param => {}

对象的方法

const obj ={
            fn:function(){} //普通
            fn: async function(){} 

            fn:()=> {}  //箭头函数
            fn: async ()=> {} 

            fn(){}  //新写法
            async fn(){}
        }

Class 的方法

class ClassName {
            fn(){}  //普通
            async fn(){} //异步
        }
        new ClassName().fn();  //使用
        console.log(new ClassName().fn());

https://img1.sycdn.imooc.com//63176fdd0001360a12360215.jpg

3async 函数的注意事项

通过学习,我们知道,async 函数无论返回一般值还是Promise对象,得到的都是成功状态的promise对象,但是在开发中不可能总是成功,也有失败。那么怎么才能返回失败状态呢?

①手动返回失败

async function fn(){
            // return 123;

            return Promise.reject(new Error('出错了'))
        }
        console.log(fn());

https://img1.sycdn.imooc.com//631776d9000153a210540299.jpg


②手动抛出错误

async function fn(){
            throw new Error('出错了');
        }
        fn().catch(err => {
            console.log(err);
        })

这样依然可以捕获错误

捕获错误的方式,还可以用 try ... catch

async function fn(){      
            try{
                throw new Error('出错了'); 
            }catch(error){
                console.log(error,'try...catch');
            }
        }
        fn().catch(err => {
            console.log(err);
        })
https://img1.sycdn.imooc.com//6317770900016c2912760335.jpg

1、可以通过 try...catch 或者 Promise...catch 的方式来处理错误

2. async 函数中可以没有 await


课程收获:

老师讲的非常细致,通俗易懂。这一节学的是 async 函数的用法,通过学习我了解了什么是 async 函数的返回值、async 函数的几种形式以及 async 函数的注意事项 。知道,async 并不是一定要和 await 一起用,期待明天学习 await





點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消