电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JS async 函數的含義和用法實例總結

瀏覽:124日期:2024-05-13 13:36:09

本文實例講述了JS async 函數的含義和用法。分享給大家供大家參考,具體如下:

學習老師最后一篇文章并做總結,

前面我們認識了各種異步編程方式:回調函數,Promise對象,Generator函數,

再到兩種自動執行方式:Thunk,co

好像我們為了更好的解決異步編程做了很多事情,

但是這也說明了一個問題

就是目前仍是的異步編程都有或多或少的問題,才導致我們要找對應的解決方案

今天我們仍是最后的大招:async

這個關鍵字在哪里見到來著?

我們可以給script標簽添加 async 屬性來異步執行腳本。

ajax 可以通過配置 async 來設置同步/異步請求

今天我們仍是一種新的使用方式: async 函數

還是參考前面讀取文件的例子:

var gen = function* (){ var f1 = yield readFile(’/etc/fstab’); var f2 = yield readFile(’/etc/shells’); console.log(f1.toString()); console.log(f2.toString());};

我們對他做了兩種解決方案, Thunk 和 co

這兩種方式需要引入單獨的模塊,來實現自動執行器。

并且對 yield 的返回結果有嚴格要求。

async 函數很好的解決了這個問題。

先看看async函數如何實現上面的代碼:

var asyncReadFile = async function (){ var f1 = await readFile(’/etc/fstab’); var f2 = await readFile(’/etc/shells’); console.log(f1.toString()); console.log(f2.toString());};

把之前的 * 替換成了 async ,yield 替換成了 await,僅此而已

我們不需要在去寫 Thunk 和 co 了,因為 async 自帶執行器。

我們也不需要去限制 await 后面的返回值,因為 async 會自己識別,

如果是 Promise 對象就異步處理,原始類型則同步處理

最復雜的兩處代碼 async 都幫我們實現了。

但是萬變不離其宗,再怎么改變,其實內里還是一樣的

async 函數其實是將前文里的 Generator 函數和自動執行函數包裝在一塊

只是減少了我們使用上的復雜度,實際的邏輯一點沒少。

使用方式也和之前 co 的使用方式類似。

所以我們最后羅列一下使用async時需要注意的點

await 命令后面的Promise對象可能拋出異常,所以最好catch一下異常 await 命令只能用在async函數內部,用在其他位置會報錯 可以使用Promise.all將任務并發執行

至此,老師的異步編程四部曲就學習完了。

再次聲明,本博客內的文章只適用個人學習使用,不允許任何形式的轉載,

如需轉載,請移步阮一峰老師的博客。

最后附上原文地址:async 函數的含義和用法

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 扬州汇丰仪表有限公司| 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 电机保护器-电动机综合保护器-浙江开民| 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 高空重型升降平台_高空液压举升平台_高空作业平台_移动式升降机-河南华鹰机械设备有限公司 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 东亚液氮罐-液氮生物容器-乐山市东亚机电工贸有限公司 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 防爆鼓风机-全风-宏丰鼓风机-上海梁瑾机电设备有限公司 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 中宏网-今日新闻-财经新闻| 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 多物理场仿真软件_电磁仿真软件_EDA多物理场仿真软件 - 裕兴木兰 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 |