目录
1.Promise 对象
1.1 概念
1.2 使用
2.Async函数
2.1 同步和异步的区别
3.Mdule语法
1.Promise 对象
1.1 概念
- Promise 是异步编程的一种解决方案,简单说就是一个容器,里面保存着某个未来才会结束 的事件(通常是一个异步操作)的结果。它可以获取异步操作的消息,Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
- Promise有三种状态
1.2 使用
(1)创建Promise对象::在构造函数中传入一个函数,在函数中编写异步请求代码
const promise = new Promise(function(resolve,
reject) {
// ... some code
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});
(2)调用其then方法,并传入回调函数和异常函数
promise.then(function(value) {
// success
}, function(error) {
// failure
});
【说明】
- Promise 构造函数接受一个函数作为参数,该函数的两个参数分别是 resolve 和 reject ,它们也是两个函数,由 JavaScript 引擎提供,不用自己部署 。
- Promise 实例生成以后,可以用 then 方法分别指定 resolved 状态和 rejected 状态的回调函数。
图片加载案例
resolve和reject函数介绍
在VUE框架中已经使用Promise对象进行了异步的代码封装,组件为:Axios,我们只需要发出请求,然后.then处理响应数据即可。
2.Async函数
async函数可以将异步操作变为同步操作。
Async函数
作用:声明当前函数为同步函数
使用:结合await关键字来使用
内容:
async function 函数名(){
.....
await 调用异步函数();
....
}
当前函数必须等待被调用的异步函数的回调执行完毕后才能继续执行!
2.1 同步和异步的区别
(1)同步操作
同步操作是指代码按顺序执行,前一个操作必须完成才能执行下一个操作。也就是说,程序会等待一个操作完成之后才会继续执行后面的代码。
特点
- 代码执行是线性的,即按照代码出现的顺序执行。
- 等待操作完成可能会阻塞执行流程,影响性能。
- 如果一个操作耗时较长,后续的操作都会被阻塞,直到这个操作完成。
(2)异步操作
异步操作是指代码不需要等待一个操作完成就能继续执行下一个操作。异步操作允许代码在等待耗时操作完成的同时继续执行其他任务。
特点
- 代码执行是非线性的,即可以跳过等待操作继续执行其他任务。
- 不会阻塞执行流程,可以提高程序的性能和响应速度。
- 通常使用回调函数、Promises 或者 async/await 来处理异步操作的结果。
3.Mdule语法
ES6 模块是通过 export 命令显式指定输出的代码,再通过 import 命令 输入,提升Js代码的重用性,避免资源过度引入!
(1)如果想为输入的变量重新取一个名字, import 命令要使用 as 关键字, 将输入的变量重命名。
(2)除了指定加载某个输出值,还可以使用整体加载,即用星号( * ) 指定一个对象,所有输出值都加载在这个对象上面
(3)为了给用户提供方便,让他们不用阅读文档就能加载模块,就要用 到 export default 命令,为模块指定默认输出。
其他模块加载该模块时, import 命令可以为该匿名函数指定任意名字。