1. promise的基本用法
const task1 = (start) => {
return new Promise((resolve, reject) => {
let A = start
setTimeout(() => {
A = A + 1
if (A) {
resolve(A)
} else {
reject('task1错误')
}
}, 1000)
})
}
const task2 = (result) => {
return new Promise((resolve, reject) => {
let B = result
setTimeout(() => {
B = result + 1
if (B > 2) {
resolve(B)
} else {
reject('task2错误')
}
}, 1000)
})
}
2. 利用promise的链式调用来解决回调问题
task1(1)
.then((result) => {
return task2(result)
})
.then((result)=>{
console.log('yes:' + result)
}).catch((err)=>{
console.log(err)
})
3. async awit 写法
async function foo(start, call) {
let a = await task1 (start)
let b = await task2 (a)
call(b)
}
foo(1, (result) => {
console.log('yes:' + result)
}).catch((err) => {
console.log(err)
})
网友评论