[英]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()
的返回結果傳遞給setTimeout。 您沒有將resolve()
傳遞給setTimeout。
記住使用任何programmig語言(php,javascript,C,java等)進行的基本編程:
foo(bar())
// is the same as
temp = bar()
foo(temp)
因此,將resolve()
傳遞給setTimeout的正確方法是:
setTimeout(() => resolve("success"),time)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.