回调实例

问题:想要得到一秒后 计算出的结果

 //错误写法function add(x,y) {console.log(1);setTimeout(function () {console.log(2);var ret = x + y;return ret;},1000);console.log(3)}console.log(add(10,20))

添加一个函数作为参数,将计算出来的结果传入到参数中,调用函数的时候,传入一个函数用来接收计算出来的值

 //正确写法function add(x,y,callback) {console.log(1);setTimeout(function () {console.log(2);var ret = x + y;callback(ret);},1000);console.log(3)
}add(10,20,function (ret){console.log(ret)
})

使用eventProxy 使异步串行

实现调用两次异步的add 方法,计算其和

callback.js

/*** 回调函数理解*///正确写法
exports.add = function add(x,y,callback) {console.log(1);setTimeout(function () {console.log(2);var ret = x + y;callback(ret);},1000);console.log(3)
}

callback-event.js

var eventProxy = require('eventproxy')
var Callback = require('./callback')
var eq = new eventProxy()//注册事件
eq.all('sum1','sum2',function (sum1_data,sum2_data) {console.log(sum1_data + sum2_data)
})Callback.add(10,20,function (ret) {eq.emit('sum1',ret)
})Callback.add(20,30,function (ret) {eq.emit('sum2',ret)
})

Promise

回调实例

问题:想要得到一秒后 计算出的结果

 //错误写法function add(x,y) {console.log(1);setTimeout(function () {console.log(2);var ret = x + y;return ret;},1000);console.log(3)}console.log(add(10,20))

添加一个函数作为参数,将计算出来的结果传入到参数中,调用函数的时候,传入一个函数用来接收计算出来的值

 //正确写法function add(x,y,callback) {console.log(1);setTimeout(function () {console.log(2);var ret = x + y;callback(ret);},1000);console.log(3)
}add(10,20,function (ret){console.log(ret)
})

使用eventProxy 使异步串行

实现调用两次异步的add 方法,计算其和

callback.js

/*** 回调函数理解*///正确写法
exports.add = function add(x,y,callback) {console.log(1);setTimeout(function () {console.log(2);var ret = x + y;callback(ret);},1000);console.log(3)
}

callback-event.js

var eventProxy = require('eventproxy')
var Callback = require('./callback')
var eq = new eventProxy()//注册事件
eq.all('sum1','sum2',function (sum1_data,sum2_data) {console.log(sum1_data + sum2_data)
})Callback.add(10,20,function (ret) {eq.emit('sum1',ret)
})Callback.add(20,30,function (ret) {eq.emit('sum2',ret)
})

Promise

nodejs回调函数理解相关推荐

  1. Java回调函数理解和应用

    #Java回调函数理解和应用 所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的. 在未理解之前,我也是一脸懵逼,等我理 ...

  2. Android回调函数理解

    Android回调函数理解,比如我用一个activity去做显示下载进度的一个进度条,但是下载是另外一个B类来做的,这个时候我Activity获取下载的进度就可以提供一个回调接口,然后让下载类来回调就 ...

  3. 【NodeJs-5天学习】第一天篇④ ——了解NodeJs回调函数和事件驱动机制

    [NodeJs-5天学习]第一天篇④ --NodeJs回调函数和事件处理机制 1.Node.js 中的回调(Callback)函数 2.Nodejs事件循环模型 2.1 浅析事件驱动 2.2 深入No ...

  4. 理解javascript 回调函数

    理解javascript 回调函数 原文:理解javascript 回调函数 ##回调函数定义 百度百科:回调函数 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一 ...

  5. 回调函数举例ajax,通过回调函数的理解来进一步理解ajax及其注意的用法

    一,再一次理解回调函数 (function($){ $.fn.shadow = function(opts){ //定义的默认的参数 var defaults = { copies: 5, opaci ...

  6. canvas学习day3——加载图片loadImage函数,理解回调函数

    回调函数 回调函数理解 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这个例子里,你的电话号码就 ...

  7. 理解javascript 回调函数,闭包

    回调 jQuery中一直有使用回调函数,比如:$("#btn").click(function() {alert("button clicked"); }); ...

  8. VC回调函数定义和使用

    最近经常使用回调函数,有时感觉有点混乱,对回调函数理解不透,昨天花点时间深深品味了一下回调函数,写下博客记录一下,言规正转,VC中的定时器是一种特殊的回调函数,只要我们设置好了定时器,我们就不用管什么 ...

  9. 一文搞懂:词法作用域、动态作用域、回调函数、闭包

    把以前一直只限于知道,却不清晰理解的这几个概念完完整整地梳理了一番.内容参考自wiki页面,然后加上自己一些理解. 词法作用域和动态作用域 不管什么语言,我们总要学习作用域(或生命周期)的概念,比如常 ...

最新文章

  1. 2021年春季学期-信号与系统-第二次作业参考答案-第一小题
  2. ML之LightGBM:基于titanic数据集利用LightGBM和shap算法实现数据特征的可解释性(量化特征对模型贡献度得分)
  3. python 还原九宫格图片_用Python做一个好玩的朋友圈九宫格抽奖
  4. leetcode 211. Design Add and Search Words Data Structure | 211. 添加与搜索单词 - 数据结构设计(Java)
  5. leetcode617. 合并二叉树
  6. 9.1定时器 小时分秒
  7. android 弹出弹框2秒消失_基于HTML5 Canvas 实现弹出框
  8. SQL转换函数(CAST 和 CONVERT)
  9. -bash: mysql_upgrade: command not found
  10. 计算机显示技术发展,显示技术
  11. opencv imread 读入图像为空
  12. 查看操作系统和处理器的位数
  13. eclipse bookmark的使用
  14. 【课程设计】图书管理系统 C语言版---操作系统版
  15. 火山PC模块使用案例-动态创建多个组件教程
  16. 2020中级会计师考试教材
  17. HTML设置文字的格式
  18. 数学中有因果关系吗?
  19. 转:原来可以这样出书、写书?
  20. RIdeogram 染色体图谱可视化R包

热门文章

  1. CEPH核心理论 相关导图(持续更新)
  2. [置顶] 当我拿车钥匙的时候,刚交的女朋友跑了。。。
  3. apue第四章习题的一些拙见(不定时更新)
  4. visio 画类图时 方法里如何加参数
  5. Martin Fowler对全世界程序员的建议
  6. OLAP和OLTP的区别(基础知识)
  7. 如何学习linux编程
  8. 用C#去除代码的SourceSafe管理
  9. c#中什么情况下用(int)什么情况下用Convert.ToInt32
  10. 初学者SQL语句介绍