const a = [
new Promise((resolve, reject) => { resolve("resolve:1") }),
new Promise((resolve, reject) => { resolve("resolve:2") }),
new Promise((resolve, reject) => { resolve("resolve:3") })
]
const b = [
new Promise((resolve, reject) => { reject("reject:1") }),
new Promise((resolve, reject) => { resolve("resolve:2") }),
new Promise((resolve, reject) => { resolve("resolve:3") })
]
const c = [
new Promise((resolve, reject) => { reject("reject:1") }),
new Promise((resolve, reject) => { reject("reject:2") }),
new Promise((resolve, reject) => { reject("reject:3") })
]
Promise.all(a).then(([p1, p2, p3]) => { console.log(p1, p2, p3) }).catch(err => { console.log(err) })
Promise.all(b).then(([p1, p2, p3]) => { console.log(p1, p2, p3) }).catch(err => { console.log(err) })
Promise.all(c).then(([p1, p2, p3]) => { console.log(p1, p2, p3) }).catch(err => { console.log(err) })
Promise.any(a).then((res) => { console.log(res) }).catch(err => { console.log(err) })
Promise.any(b).then((res) => { console.log(res) }).catch(err => { console.log(err) })
Promise.any(c).then((res) => { console.log(res) }).catch(err => {
console.log('所有 Promise 都被拒绝:', err);
console.log('具体错误:', err.errors);
})
Promise.allSettled(a).then(([p1, p2, p3]) => { console.log(p1, p2, p3) }).catch(err => { console.log(err) })
Promise.allSettled(b).then(([p1, p2, p3]) => { console.log(p1, p2, p3) }).catch(err => { console.log(err) })
Promise.allSettled(c).then(([p1, p2, p3]) => { console.log(p1, p2, p3) }).catch(err => { console.log(err) })
const p1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("resolve:1")
}, 3000)
})
const p2 = new Promise((resolve, reject) => {
setTimeout(() => {
reject("reject:2")
}, 1000)
})
const p3 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("resolve:3")
}, 2000)
})
Promise.race([p1, p2, p3]).then((res) => { console.log(res) }).catch(err => { console.log(err) })
var promise = new Promise(function (resolve, reject) {
reject("将当前构建的Promise对象的状态由pending(进行中)设置为rejected(已拒绝)");
})
promise.then(
success => {
console.log("异步执行成功,状态为:fulfilled,成功后返回的结果是:" + success);
return (" 当前 success ");
},
error => {
console.log("异步执行失败,状态为rejected,失败后返回的结果是:" + error);
return (" 当前 error ");
}
).then(
success2 => {
console.log("第一个then的回调函数执行成功 成功返回结果:" + success2);
throw (" 当前 success2 ");
},
error2 => {
console.log("第一个then的回调函数执行失败 失败返回结果:" + error2);
return (" 当前 error2 ");
}
).catch(err => {
console.log("捕获异常:" + err);
});
参考链接: https://www.cnblogs.com/grow-up-up/p/17000726.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现