promise-(1)
程序员文章站
2024-02-22 13:03:52
...
promise对象:不解决异步问题,解决异步写法
-
new Promise(promise的回调函数,在实例化的时候回直接执行function(resolve,reject){
-
resolve(传递给执行成功后触发的函数 的参数): 代表异步执行完成,并成功拿到结果 – 将Promise对象的状态修改为resolve
-
reject(传递给执行失败后触发的函数 的参数) : 代表异步执行完成,但是没有成功拿到结果 --将Promise对象的状态修改为reject
});
<script>
function Person(){
p1(){
console.log(this);
}
}
let pp = new Person();
pp.p1();
let p = new Promise(function(resolve,reject){
console.log(111);
// resolve("传参");
console.log(this); // window
//回调函数执行完
reject("失败了使用的数据");
});
p.then(function(res){
console.log(this); // window
console.log(res + "拿到了异步处理的结果");
},function(rej){
console.log(rej + "执行结束,但是失败了");
});
console.log(p);
eg2:
<script>
let p = new Promise(function(resolve,reject){
let img = new Image();
img.src = 'http://img1.imgtn.bdimg.com/it/u=2698695312.jpg';
//图片加载成功后 触发
img.onload = function(){
resolve("图片请求成功");
}
//图片加载失败后 触发
img.onerror = function(){
reject("图片请求失败");
}
}).then((res)=>{
//请求成功之后,执行的业务处理
console.log(res);
},(rej)=>{
//请求失败之后,执行的业务处理
console.log(rej);
});
</script>
上一篇: Java内存区域和内存模型讲解