$.ajax({
url: "http://localhost:3000/promise_test1",
success: function(result) {
console.log(result);
},
error: function(error) {
console.log(error);
reject(error)
}
});
$.ajax({
url: "http://localhost:3000/promise_test2",
success: function(result) {
console.log(result);
},
error: function(error) {
console.log(error);
}
});
$.ajax({
url: "http://localhost:3000/promise_test3",
success: function(result) {
console.log(result);
},
error : function(error) {
console.log(error);
}
});
输出结果
如下所示
$.ajax({
url: "http://localhost:3000/promise_test1",
success: function(result) {
console.log(result);
$.ajax({
url: "http://localhost:3000/promise_test2",
success: function(result) {
console.log(result);
$.ajax({
url: "http://localhost:3000/promise_test3",
success: function(result) {
console.log(result);
},
error: function(error) {
console.log(error);
}
});
},
error: function(error) {
console.log(error);
}
});
},
error: function(error) {
console.log(error);
reject(error)
}
});
var p = new Promise((resolve, reject) => {
resolve(res) //回调成功执行
reject(error) //回调失败执行
})
举例:
function p() {
var p = new Promise((resolve, reject) => {
$.ajax({
url: "http://localhost:3000/promise_test1",
success: function(result) {
console.log(result);
resolve(result)
},
error: function(error) {
console.log(error);
reject(error)
}
});
})
return p;
}
上面的例子可以改写为:
function p(url) {
var p = new Promise((resolve, reject) => {
$.ajax({
url: url,
success: function(result) {
resolve(result)
},
error: function(error) {
reject(error)
}
});
})
return p;
}
p("http://localhost:3000/promise_test1").then(
function(data) {
// 执行resolve
console.log(data);
},
function(error) {
// 执行reject
console.log(error);
}
)
结果
function p(url) {
var p = new Promise((resolve, reject) => {
$.ajax({
url: url,
success: function(result) {
resolve(result)
},
error: function(error) {
reject(error)
}
});
})
return p;
}
p("http://localhost:3000/promise_test1")
.then(
function(data) {
// 执行resolve
console.log(data);
// 必须返回一个Promise实例
return p("http://localhost:3000/promise_test2");
},
)
//此处.then获取promise_test2接口的resolve回调
.then(function(data) {
console.log(data);
return p("http://localhost:3000/promise_test3");
})
//此处.then获取promise_test3接口的resolve回调
.then(function(data) {
console.log(data);
})
结果如下所示
Promice.then() //获取异步结果,l参数为两个函数回调,
Promise.catch() //获取异常信息 参数为一个回调函数 相当于then中的第二个函数
Promise.finally() //成功与否都会执行
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务