gpt4 book ai didi

JavaScript promise 使用 setTimeout 解决

转载 作者:行者123 更新时间:2023-12-04 03:03:44 25 4
gpt4 key购买 nike

我不明白为什么第一个 setTimeout 函数有效但第二个无效。当我运行第二个 setTimeout 时,第一个被注释掉了。但不是在 3 秒后解决,而是立即解决。

我对整个 'promise' 东西很陌生,而且我正在学习的教程使用了很多带有 setTimeout 的 Promise。

  let promise = new Promise( ( resolve, reject ) => {

/* why does setTimeout work with this one... */
setTimeout( () => resolve( 'Job\'s done!!!' ), 3000 );

/* but not with this one */
setTimeout( resolve('done'), 3000 );
} );

promise.then(
result => alert( result )
);

最佳答案

/* why does setTimeout work with this one... */
setTimeout( () => resolve( 'Job\'s done!!!' ), 3000 );

当超时发生时,你调用一个函数 () => ...执行直到解决 promise
/* but not with this one */
setTimeout( resolve('done'), 3000 );

在这里,您实际上解决了 promise (您执行结果函数)并将结果传递给 setTimeout 函数。

写作
() => resolve( 'Job\'s done!!!' )

是相同的
function() {
resolve( 'Job\'s done!!!' );
}

关于JavaScript promise 使用 setTimeout 解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46551778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com