我试图在10秒后调用解决方法,但我想它直接被调用。
let timer = (time) => new Promise((resolve)=> { setTimeout( resolve("success"),time)});
timer(10000).then( (result) => {
alert(result)
})
答案 0 :(得分:-1)
您正在将resolve()
的返回结果传递给setTimeout。您没有将resolve()
传递给setTimeout。
记住任何programmig语言(php,javascript,C,java等)的基础编程:
foo(bar())
// is the same as
temp = bar()
foo(temp)
因此将resolve()
传递给setTimeout的正确方法是:
setTimeout(() => resolve("success"),time)