日常-settimeout的第三个参数

1.代码复现

在查资料的时候看到个这句代码

    const promise3 = new Promise((resolve, reject) => {
      setTimeout(reject, 1000, '失败')
    });

很是好奇,这是什么写法。

2.代码解析

setTimeout 的第三个参数可以用来传递额外的参数给你指定的回调函数。这个参数会作为参数传递给回调函数,而不需要在回调函数内部显式调用。

2.1 示例

以下是一个使用 setTimeout 的第三个参数的示例:

setTimeout(function(message) {
    console.log(message);
}, 1000, '失败11'); // 1秒后输出 "失败11"

2.2 解释

  1. 回调函数: 第一个参数是一个函数,当延迟时间到达时执行。
  2. 延迟时间: 第二个参数是延迟的时间(以毫秒为单位)。
  3. 第三个参数: 第三个参数 '失败11' 会被作为参数传递给回调函数。

2.3 使用箭头函数

你也可以使用箭头函数:

setTimeout((message) => {
    console.log(message);
}, 1000, '失败11'); // 1秒后输出 "失败11"

2.4 使用命名函数

如果你使用命名函数,也可以像这样:

function con(message) {
    console.log(message);
}

setTimeout(con, 1000, '失败11'); // 1秒后输出 "失败11"

2.5 总结

  • setTimeout 的第三个参数允许你在定时器到期时传递参数给回调函数,简化了参数传递的过程。
  • 你可以使用匿名函数、箭头函数或命名函数来接收这些参数。

原来那里的代码可以拆解为

new Promise((resolve, reject) => {
           function con(a) {
          console.log(a)
        }
        setTimeout(
          con
          , 1000, '失败110')
    });

类似的,con看成事已经定义了的方法reject

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值