Author:Mr.柳上原
付出不亚于任何的努力
愿我们所有的努力,都不会被生活辜负
不忘初心,方得始终
总是鼓励别人乐观
自己却有些悲观
。。。。。。
<!DOCTYPE html> <!-- 文档类型:标准html文档 --><html lang='en'> <!-- html根标签 翻译文字:英文 --><head> <!-- 网页头部 --><meat charset='UTF-8'/> <!-- 网页字符编码 --><meat name='Keywords' content='关键词1,关键词2'/><meat name='Description' content='网站说明'/><meat name='Author' content='作者'/><title>前端59期学员作业</title> <!-- 网页标题 --><link rel='stylesheet' type='text/css' href='css/css1.css'/> <!-- 外链样式表 --><style type='text/css'> /*内部样式表*/</style></head><body> <!-- 网页主干:可视化区域 --><script>/* try catch: 错误捕获 try语句允许我们定义在执行时进行错误测试的代码块 catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块 finally 语句在 try 和 catch 之后无论有无异常都会执行 catch 和 finally 语句都是可选的 catch 块会捕捉到 try 块中的错误,并执行代码来处理它 throw语句抛出一个错误 */// try catch的使用function myFunction() { let x; try { if(a == "") throw "is Empty"; if(isNaN(x)) throw "not a number"; if(x > 10) throw "too high"; if(x < 5) throw "too low"; } catch(err) { console.log(err); } }/* promise:承诺,用于解决异步编程 状态:进行中,成功,失败 全封闭模式:一旦启动了一个promise,外部再也无法改变它内部的状态 关注点:成功(resolve),失败(reject) 当程序有大量计算时,会消耗大量系统资源,所以会使用异步编程的方式(回调函数)来组织代码 event.addListener("end", function(res){} ); */// promise的使用new Promise((resolve, reject) => { setTimeout(() => {try {console.log(123); // 事件结束resolve(`成功:${123}`); } catch (error){ reject(`失败:${error}`); } }, 200)// then是Promise原型上的方法,会返回一个全新的promise方法,下一个then接受成功还是失败事件,取决于上一个then的return的值是成功还是失败}).then((res) => { // 成功回调if (res){ setTimeout(() => {console.log(res); }, 200) }return res; // 返回数据给下一个then}, (rej) => { // 失败回调console.log(rej); }).then((res) => {console.log(res);return new Promise((resolve, reject) => reject("失败"); }).catch(error => { // catch专门用来接受promise的失败状态console.log(error); })let p1 = new Promise(() => {});let p2 = new Promise(() => {});let p3 = new Promise(() => {});// all方法let p = Promise.all([p1, p2, p3]) // 当所有集合里p都成功时才成功// race方法let p = Promise.race([p1, p2, p3]) // 当最先得出值的集合里p的状态就是p的状态// reject方法let p = Promise.reject("失败") // 立即返回失败的状态// resolve方法let p = Promise.resolve("成功") // 立即返回成功的状态/* async:generator函数的语法糖 语法糖:给计算机语言添加新功能,对开发者更加亲切甜蜜易读的语法 */// async使用方法async function fn( ){let res = await new Promise((resolve) => { setTimeout(() => {console.log("异步成功"); resolve("返回成功值") }, 100) })console.log(res); } fn( );</script></body></html>
作者:Mr柳上原
链接:https://www.jianshu.com/p/28ec011cb5db
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦