带参数和不带参数的 SetTimeout 函数 Javascript

SetTimeout function with parameter and without Javascript

我混淆了这两个选项之间的区别,以及是否有更好的选项 超时函数中的参数在

之外
function createPost(){
  setTimeout(function(post){
    posts.push(post);
  }, 2000);
}

在 createPost 函数内的另一个函数参数处

function createPost(post){
  setTimeout(function(){
    posts.push(post);
  }, 2000);
}

解法:

有 2 个不同的选项,只有第 2 个选项有效

setTimout的第一个参数是一个回调函数,会在超时后执行。它只是调用函数。它不会向它传递任何参数。

第二个选项是唯一可行的选项。您将调用 createPost(post) ,它将在 post.

超时后推送到数组