【发布时间】:2021-11-07 02:57:31
【问题描述】:
我想了解两个代码 sn-ps 之间的区别,它们都以不同的方式解析承诺,但收到相同的结果(在一秒钟后解析)。
哪种方法是正确的?
function longTask(){
return new Promise((resolve, reject) =>
setTimeout(() => resolve(), 1000)
)}
longTask().then(() => console.log("done"));
function longTask(){
return new Promise((resolve, reject) =>
setTimeout(resolve, 1000)
)}
longTask().then(() => console.log("done"));
【问题讨论】:
-
这种情况没有区别。
-
它们的工作方式相同。唯一的区别与承诺完全无关。在一种情况下,您只需传递对
resolve
的函数引用,另一种情况是调用resolve
的匿名函数。承诺与此无关。 -
对于这种情况,唯一的区别是可以跳过一个额外的匿名函数。
标签: javascript promise settimeout arrow-functions