promise的介绍
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
// promise是ES6重要内容---面试经常问的内容
// promise是ES6引入异步编程(io代码,数据库io, 网络请求)的新解决方案(解决回调地狱的问题),语法上promise是一个构造函数--实例化对象,
// 用来封装异步操作 并可以获取其成功和失败的结果
// 实例化promise对象---有三个状态 初始化 成功 失败
// new Promise(参数) 其参数是一个函数 此函数有两个形参 形参可以任意起名
// resolve,reject 可以改变promise的一个状态
const P = new Promise(function(resolve,reject){
setTimeout(function(){
// 操作获取
let data = '数据库中的用户数据';
// 当调用resolve 之后函数会变成 成功
resolve(data);
},1000);
});
//成功之后 调用 promise 对象的then方法
// then方法接收两个参数,参数都是函数类型的值
// 成功的形参叫 ----- value
// 失败的形参叫-----reason
P.then(function(value){
// 当promise对象为成功的时候 也就是异步操作里面调用 resolve后 输出下面的话
console.log(value);
},function(reason){
})
</script>
<script>
const P = new Promise(function(resolve,reject){
setTimeout(function(){
// 操作获取
let err = '数据读取失败';
// 当调用reject 之后函数会变成 失败
reject(err);
},1000);
});
P.then(function(value){
},function(reason){
// 当promise对象为失败的时候 也就是异步操作里面调用 reject后 输出下面的话
console.log(reason);
})
</script>
</body>
</html>