试一试Promise ,好像挺不错的东西
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script>
/*
2019-06-17
Promise试写
*/
function api() {}; //构造函数
api.prototype = {
get: function (params) {
return new Promise(function(resolve, reject) {
// 这里可以封装一个ajax请求
// $ajax({url:'',data: ... balabalabala ... })
// $ajax成功调用resolve 失败或异常调用reject
if(params.type == 1) {
let res = {msg: 'success'}
resolve(res)
} else {
let res = {msg: 'error'}
reject(res)
}
});
}
}
var api = new api();
function clickTest(type){
/* api.get({type: type}).then(
function success(res){
alert(res.msg)
}
).catch(
function error(error){
alert(error.msg)
}
) */
// es6 写法更加简便
api.get({type: type}).then((res) => {
alert(res.msg)
}).catch((error) => {
alert(error.msg)
}
)
}
</script>
<body>
<button onclick="clickTest(1)">测试then</button>
<button onclick="clickTest(2)">测试catch</button>
</body>
</html>