首页 > 解决方案 > 带参数且不带 Javascript 的 SetTimeout 函数

问题描述

我混淆了这两个选项之间的区别,如果有更好的选项,超时函数中的参数不在

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

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

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

解决方案:

有两种不同的东西,只有第二种选择有效

标签: javascriptfunctionparameterscallback

解决方案


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

第二个选项是唯一可行的选项。您将调用 createPost(post) ,它将在该帖子超时后推送到数组。


推荐阅读