为什么我的决心没有等到规定的时间?
Why my resolve doesn't wait for the specified time?
我试图在 10 秒后调用解析,但我猜它是直接调用的。
let timer = (time) => new Promise((resolve)=> { setTimeout( resolve("success"),time)});
timer(10000).then( (result) => {
alert(result)
})
您正在将 resolve()
的 return 结果传递给 setTimeout。您没有将 resolve()
传递给 setTimeout。
记住任何编程语言(php、javascript、C、java 等)的基本编程:
foo(bar())
// is the same as
temp = bar()
foo(temp)
所以将resolve()
传递给setTimeout的正确方法是:
setTimeout(() => resolve("success"),time)
我试图在 10 秒后调用解析,但我猜它是直接调用的。
let timer = (time) => new Promise((resolve)=> { setTimeout( resolve("success"),time)});
timer(10000).then( (result) => {
alert(result)
})
您正在将 resolve()
的 return 结果传递给 setTimeout。您没有将 resolve()
传递给 setTimeout。
记住任何编程语言(php、javascript、C、java 等)的基本编程:
foo(bar())
// is the same as
temp = bar()
foo(temp)
所以将resolve()
传递给setTimeout的正确方法是:
setTimeout(() => resolve("success"),time)