setTimeout和setInterval被遗忘的第3个参数小白教程_setTimeout入门基础知识

一、起因最近在看阮一峰es6,惊为天人的发现promise里面的一个例子:原来 setTimeout居然还有第三个参数,调用方法的时候可以作为传参对象。function timeout(ms) {return new Promise((resolve, reject) => {setTimeout(resolve, ms, ‘done’);});
}time

setTimeout和setInterval被遗忘的第3个参数小白教程

一、起因

最近在看阮一峰es6,惊为天人的发现promise里面的一个例子:原来 setTimeout居然还有第三个参数,调用方法的时候可以作为传参对象。

setTimeout和setInterval被遗忘的第3个参数小白教程_setTimeout入门基础知识

function timeout(ms) {
  return new Promise((resolve, reject) => {
    setTimeout(resolve, ms, 'done');
  });
}

timeout(100).then((value) => {
  console.log(value);
});

二、定义

图片描述

定时器启动时,第三个及以后的参数是作为第一个参数(也就是函数)的参数传进去的。

三、语法糖

我认为第三个及以后的参数可能是setTimeout的语法糖,其实按照第二种写法也是可以的,可能第一种写法会比较吊一点,毕竟很少人会知道setTimeout有第三个参数。

setTimeout(resolve, ms, 'done');
setTimeout(resolve('done'), ms);

但是在Promise里面resolve只能传一个参数,在其他方法可以传多个参数

setTimeout(test,1000,1,2,3);
function test(a ,b, c) {
    console.log(a, b, c) // 输出1,2,3
 }

来自:https://segmentfault.com/a/1190000018891341

海计划公众号
(0)
上一篇 2020/03/30 16:08
下一篇 2020/03/30 16:08

您可能感兴趣的内容

  • 变设龙基础入门_在线智能创意设计平台

    变设龙基础入门 官方网址:http://www.bslong.cn/ 简介描述:在线智能创意设计平台 《变设龙》是新一代设计平台,颠覆传统设计领域,与人工智能共同进化,让每个人都能…

    2020/03/11
  • CSS规范新手入门_规范小白攻略

    CSS 指层叠样式表 (Cascading Style Sheets),定义如何显示 HTML 元素,但由于 CSS 天生全局性,随着项目复杂度增加,极易出现样式覆盖以及其它的问题。1. 通用规范文件编码为了避免内容乱码,统一使用 UTF-8 编码保存。样式文件第一行设置字符集为 UTF-8@charset ‘UTF-8’; /* 注意字符集说明应在第一行

    2020/03/29
  • JS中禁止对象属性扩展、密封对象、冻结对象入门指南_对象指南教程

    对象常量属性概念:将属性的writable和configurable设置为false;//将属性的writable和configurable设置为false
    var damu={};
    Object.defineProperty(damu,”wife”,{value:”fbb”
    })
    Object.defineProperty(damu,”wife”,{val

    2020/03/22
  • JS内存管理新手入门_内存使用帮助

    前言像C语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。相反,JavaScript是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。 释放的过程称为垃圾回收。这个“自动”是混乱的根源,并让JavaScript(和其他高级语言)开发者错误的感觉他们可以不关心内存管理。内存的生命周期生命周期概

    2020/03/26
  • 如何加快 Node.js 应用的启动速度?小白知识_应用基础知识教程

    作者|杜佳昆(凌恒) 出品|阿里巴巴新零售淘系技术部我们平时在开发部署 Node.js 应用的过程中,对于应用进程启动的耗时很少有人会关注,大多数的应用 5 分钟左右就可以启动完成,这个过程中会涉及到和集团很多系统的交互,这个耗时看起来也没有什么问题。目前,集团 Serverless 大潮已至,Node.js serverless-runtime 作为前端新

    2020/03/24
  • Web前端工程师必备的PS技能之切图入门基础知识_工程师入门百科

    1. PS中我的标尺的参考线为什么不能自动吸附图层或画布中间了?有个选项没有选择“菜单栏-视图-对齐”,勾选下,里面的选项你可以看着勾选。还有一点要注意,你想吸附到图层像素边缘的时候,需要你选中这个图层。2. 按照设计师提供的设计稿,实现HTML页面,需要将设计稿切分成为最终在页面中呈现的一个个图片,我们一般称之为“切图”。3.

    2020/04/05
  • js安全类型检测菜鸟攻略_类型菜鸟教程网

    背景: 都知道js内置的类型检测,大多数情况下是不太可靠的,例如: typeof 、 instanceof。typeof 返回一个未经计算的操作数的类型, 可以发现所有对象都是返回object (null是空指针即空对象)instanceof : 用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置 (简单理解: 左侧检测的对象

    2020/03/26
  • React Fiber入门指南_线程使用教程

    背景前段时间准备前端招聘事项,复习前端React相关知识;复习React16新的生命周期:弃用了componentWillMount、componentWillReceivePorps,componentWillUpdate三个生命周期, 新增了getDerivedStateFromProps、getSnapshotBeforeUpdate来代替弃用的三个钩

    2020/03/29
  • 最终一致性分布式事务如何保障实际生产中99.99%高可用?入门指南_分布式菜鸟教程

    一、写在前面上一篇文章咱们聊了聊TCC分布式事务,对于常见的微服务系统,大部分接口调用是同步的,也就是一个服务直接调用另外一个服务的接口。这个时候,用TCC分布式事务方案来保证各个接口的调用,要么一起成功,要么一起回滚,是比较合适的。但是在实际系统的开发过程中,可能服务间的调用是异步的。也就是说,一个服务发送一个消息给MQ,即消息中间件,比如RocketMQ

    2020/04/03
  • txt.wav入门基础_一款可以实现波浪文字动画的纯JS插件

    txt.wav入门基础 官方网址:http://www.stilllife.studio/txtwav GitHub:https://github.com/still-life-s…

    2020/03/10
  • 什么是CDN缓存?CDN的入门了解小白入门_CDN入门百科

    前言这段时间,在工作中遇到了一个CDN导致的图片资源加载的错误,在排查问题的过程中,发现自己对CDN的了解非常的片面,仅仅停留在它能缓存静态资源,提升访问速度的了解中。所以觉得还是非常有必要深入去了解下。什么是CDN?CDN的全称是Content Delivery Network,即内容分发网络,是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的

    2020/04/05
  • CSS书写位置使用攻略_样式入门教程

    css 书写位置行内样式,style标签link标签行内样式

    css书写位置

    生当作人杰,死亦为鬼雄

    </htm

    2020/03/23
  • 程序员必知必会的10 大基础算法!菜鸟指南_算法攻略教程

    算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divideandconquer

    2020/03/26
  • 区块链技术的三个常见误区指南教程_区块链基础知识教程

    区块链于2009年首次推出,并发布了其首个应用程序——比特币。如果按照最简单的应用方式来解释, 区块链是一种去中心化的数字记录系统,令不受信任的交易各方可以共享数字历史记录,并且无需中介即可达成共识 。区块链由一系列带时间戳且无法篡改的数据记录组成,这些记录由不属于任何单一实体的计算机集群管理。这些区块中的每个数据均使用加密技术保护并相互绑定。在区块链中的每

    2020/03/22
  • vue-core-image-upload小白知识_图片剪切和上传的 vue 插件

    vue-core-image-upload小白知识 官方网址:http://vanthink-ued.github.io/vue-core-image-upload/index.h…

    2020/03/06
  • 一个简易的 LED 数字时钟Js实现方法使用帮助_效果小白指南

    这个应该是已经有很多人做过的东西,我应该只是算手痒,想写一下,所以,花了点时间折腾了这个,顺便把 Dark Mode 的处理也加上了。首先可以很明确的一点,这个真没技术含量存在,只是需要点耐心。LED 数字包含了左右各两条线,中间三条线,一共 7 条线。所以,为了能够更容易辨识,在写 demo 的时候,我直接这样写了。<div class="digital

    2020/03/20