[英]Why my resolve doesn't wait for the specified time?
I am trying to call the resolve after 10 seconds but I guess it is called directly. 我试图在10秒后调用解决方法,但我想它直接被调用。
let timer = (time) => new Promise((resolve)=> { setTimeout( resolve("success"),time)});
timer(10000).then( (result) => {
alert(result)
})
You're passing the return result of resolve()
to setTimeout. 您正在将
resolve()
的返回结果传递给setTimeout。 You are not passing resolve()
to setTimeout. 您没有将
resolve()
传递给setTimeout。
Remember basic programming in any programmig language (php, javascript, C, java etc.): 记住使用任何programmig语言(php,javascript,C,java等)进行的基本编程:
foo(bar())
// is the same as
temp = bar()
foo(temp)
So the correct way to pass resolve()
to setTimeout is: 因此,将
resolve()
传递给setTimeout的正确方法是:
setTimeout(() => resolve("success"),time)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.