异步编程Promise和async+await,html5移动web开发

2.Promise本身是一个构造函数,要使用promise解决回调地狱的问题,需要使用new运算符创建Promise构造函数的实例对象;

在创建对象的时候需要传入一个匿名函数,匿名函数中有两个参数resolve,reeject;

const fs = require(‘fs’);

//promise的目的`是为了解决回调函数地狱

let promise = new Promise((resolve,reject)=>{

fs.readFile(‘./1.txt’,‘utf8’,(err,result)=>{

if(err != null){

//文件读取错误时调用的函数,并且输出错误信息

reject(err);

}

else{

//正确的时候调用resolve函数,输出正确信息

resolve(result);

}

})

})

// promise.then就是文件读取正确时的信息

//链式的,后边跟上.catch就是文件读取错误时输出错误信息

promise.then((result)=>{

console.log(result);

}).catch((err)=>{

console.log(err);

})

3.异步函数

异步函数是异步编程语法的终极解决方案,它可以让我们将异步代码写成同步的形式,让代码不在有回调嵌套,代码变得简洁易懂;

const fn = async () => {};

async function fn() {};

async

1.普通函数定义前边加async关键字,普通函数变为异步函数;

2.异步函数默认返回promise对象;

3.在异步函数内部使用return关键字进行结果返回,结果会被包裹的promise对象中,return关键字代替了resolve方法;

4.在异步函数内部使用throw关键字抛出程序异常;

5.调用异步函数再链式调用then方法获取异步函数执行结果;

6.调用异步函数再链式调用catch方法获取异步函数执行的错误信息;

await

await只出现在异步函数中;

await promise await后面只能写promise对象,写其他的类型的API是不可以的;

await关键字 可以暂停异步函数的执行,等待promise对象返回结果后再向下执行函数;

// 在普通函数定义的前边加上async关键字,普通函数就变成了异步函数

async function p1(){

return ‘p1’;

}

async function p2(){

return ‘p2’;

}

async function p3(){

return ‘p3’;

}

// 异步函数默认的返回值是promise对象

console.log(p1()) //打印p1函数的返回值,Promise { ‘p1’ } 是promise对象

async function run(){

let r1 = await p1()

let r2 = await p2()

let r3 = await p3()

console.log(r1);

console.log(r2);

console.log(r3);

}

run();

4.promisify改造函数

// 改造现有异步函数api 让其返回promise对象 从而支持异步函数语法

const promisify = require(‘util’).promisify;

// 调用promisify方法改造现有异步API 让其返回promise对象

const readFile = promisify(fs.readFile);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

资料领取方式:戳这里免费获取

如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

资料领取方式:戳这里免费获取

html5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值