我有以下代码
function a() {
b().then((success) => {
if (success) {
console.log('B')
}
})
}
function b() {
return new Promise((resolve, reject) => {
resolve(true)
console.log('A')
})
}
a();
如何在不使用B
的情况下在A
之前登录setTimeout(()=>{console.log('A')}, 0)
答案 0 :(得分:2)
您可以在第一个Promise中将函数作为值传递,稍后将执行。
function a() {
b().then((success) => {
if (success) {
console.log('B')
success()
}
})
}
function b() {
return new Promise((resolve, reject) => {
resolve(() => console.log('A'))
})
}
a();
答案 1 :(得分:0)
我不确定这是否正是您想要的,但这就是我想出的。
async function a() {
await b().then((success) => {
if (success) {
console.log('B')
}
})
}
function b() {
return new Promise((resolve, reject) => {
resolve(true)
console.log('A')
})
}