回调,是一种机制,同时也是一种设计模式。

我们定义一个函数,让能够回调

import _products from './products.json'const TIMEOUT = 100const getProducts = (cb, timeout) => setTimeout(() =cb(_products), timeout || TIMEOUT )

这个函数的作用是需要传递一个 callback 函数作为参数。该 callback 函数具有一个参数 _products,可以对 procucts 进行处理。

那么回调函数本质是什么?简单来讲就是通过封装一个参数为回调函数的函数,对某些相关逻辑进行完善。比如这里虽然知道要处理 _products,但是不知道怎样去处理。那么定义这样一个函数,等到调用时再传递具体的处理逻辑 callback。

getProducts(products => {dispatch(receiveProducts(products))})

转载于:https://www.cnblogs.com/lemos/p/7367715.html

callback 模式相关推荐

  1. Callback模式和Template模式

    http://byyouside.blogbus.com/logs/5504641.html Template method被广泛的使用,像Servlet就是使用这个模式.Template motho ...

  2. 队友总抢好装备, 互斥模式(Mutex Pattern)来安慰

    目的 保护一个资源在同一时间只会有一个资源持有者访问/操作 例子代码 最近好久没玩吃鸡了, 手都生了, 每局都是第二名的我不想过度吹嘘的我刚(fu)枪(di)技能, 最近一局很气, 我带着队友刚到房区 ...

  3. Android Handler介绍

    本文转自:http://www.cnblogs.com/keyindex/articles/1822463.html 前言 学习android一段时间了,为了进一步了解android的应用是如何设计开 ...

  4. Netty笔记(一)第一个程序

    为什么80%的码农都做不了架构师?>>>    这两天学习netty,记录一下. netty 介绍不废话. 官方网站:http://netty.io/ 使用netty高层次抽象的AP ...

  5. [转] 2016前端开发技术巡礼

    2016年马上过去了,像过去六年中的每一年一样,Web前端领域又产生了"面目全非"而又"耳目一新"的变化,不但旧事物持续不断地被淘汰,新事物也难保坐久江山,大有 ...

  6. 转载:2016前端开发技术巡礼

    本文转自前端之巅,作者殷勇. 2016年马上过去了,像过去六年中的每一年一样,Web前端领域又产生了"面目全非"而又"耳目一新"的变化,不但旧事物持续不断地被淘 ...

  7. Android Retrofit实现原理分析

    retrofit有几个关键的地方. 1.用户自定义的接口和接口方法.(由动态代理创建对象.) 2.converter转换器.(把response转换为一个具体的对象) 3.注解的使用. 让我们跟随Ap ...

  8. Java Hibernate模板 学习总结

    使用Hibernate模板 与Hibernate进行交互的主要接口是org.hibernate.Session.这个Session接口提供了基本的数据访问功 能,比如从数据库保存.更新.删除和加载对象 ...

  9. 响应式编程优点 有效_Reactive(响应式)编程

    Reactor 和Rxjava是Reactive Programming范例的一个具体实现,可以概括为: 反应式编程是一种涉及数据流和变化传播的异步编程范例.这意味着可以通过所采用的编程语言轻松地表达 ...

最新文章

  1. CentOS6.9 ARM虚拟机扩容系统磁盘
  2. 文献学习(part47)--A novel consensus learning approach to incomplete multi-view clustering
  3. php-5.2.6安装,php5.2.6安装openssl.o扩展,make时报错?
  4. mac 下开发golang 配置
  5. 简单java数组程序_java(数组及常用简单算法 )
  6. 算法图解 PDF 原文内容分享
  7. PBRT的程序运行流程
  8. python安装osgeo库_python第三方库安装
  9. Linux下ftp搭建
  10. configure: error: Jabber library not found
  11. 艾美捷-临床数量排名前20的药物靶点分析-磷酸二酯酶(PDEs)抗体
  12. 漏洞系列之——SQL注入
  13. 宏定义 定义一年多少秒
  14. 老码农眼中的CRM 图解
  15. python中的美元符号_Python学习笔模式匹配与正则表达式之插入字符和美元字符
  16. 杏子语录(2019年10月)
  17. 一键式解压tar, tar.gz. tar.bz2, tar.xv文件的shell脚本【转】
  18. 怎样在计算机上进行高级搜索,怎么用中国知网的高级检索才能准确找到自己想要的文献?...
  19. 我的3D游戏开发书架
  20. 生信分析- Pysam应用

热门文章

  1. 项目启动过后,停在了加载mapper xml文件过程中
  2. springBoot 集合深度拷贝
  3. singft 函数 matlab,(新)信号与系统MATLAB实验全.doc
  4. IBM携手MIT组建新实验室:人工智能将有像人一样的视听功能
  5. NullableT类型
  6. linux卸载openJDK
  7. Ubuntu设置局域网Windows共享文件Samba
  8. linux tar 命令 详解
  9. 《深入解析Windows操作系统》--第二章 系统结构
  10. 使用计算机必懂的53个英文单词和缩写