代码举例
javascript
function test(resolve, reject) {
let timeOut = Math.random() * 2;
console.log("11")
setTimeout(function() {
if(timeOut < 1) {
console.log("ok", timeOut)
resolve("ok " + timeOut);
}else {
console.log("timeOut", timeOut)
reject("error " + timeOut);
}
}, timeOut * 1000);
console.log("22")
}
console.log("1");
//方式1
new Promise(test).then(result => {
console.log("ok", result);
}).catch(result => {
console.log("error", result);
})
console.log("2");
方式1
javascript
new Promise(test).then(result => {
console.log("ok", result);
}).catch(result => {
console.log("error", result);
})
方式2
javascript
new Promise(test).then(
(result) => {
console.log("ok", result);
},
(error) => {
console.log("error", error);
}
)
执行结果

注意
then, catch, finally 顺序不能颠倒。