为什么我的决心不等待指定的时间?

时间:2019-07-17 01:50:00

标签: javascript settimeout es6-promise

我试图在10秒后调用解决方法,但我想它直接被调用。

let timer = (time) => new Promise((resolve)=> { setTimeout( resolve("success"),time)});

timer(10000).then( (result) => {
    alert(result)
})

1 个答案:

答案 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)