什么是ES6 Promise
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Promise</title>
<script>
// 通promiseUtil 封装Promise请求
// 入参为url表示请求地址
let promiseUtil = (url)=>{
//
return new Promise((resolve, reject)=>{
// 使用setTimeout 模拟ajax请求
// ajax....异步请求
setTimeout(()=>{
let sucessFlag = true;
if(sucessFlag){
// 模拟成功
resolve({
sucesss: true,
message: '操作成功',
url: url,
data: {
name: (Math.random() * 100).toFixed()
}
})
}else{
// 模拟失败
reject({
sucesss: true,
message: '操作失败',
url: url
})
}
}, 2000)
})
}
// 调用请求
let p = promiseUtil('http://1.com');
p.then((data)=>{
console.log('成功:');
console.log(data);
}, (error)=>{
console.log('失败');
console.log(error);
})
//
p = promiseUtil('http://2.com');
p.then((data)=>{
console.log('成功:');
console.log(data);
}, (error)=>{
console.log('失败');
console.log(error);
})
</script>
</head>
<body></body>
</html>
网友评论