返回顶部
首页 > 资讯 > 前端开发 > node.js >node.js实现回调的方法示例
  • 342
分享到

node.js实现回调的方法示例

示例回调方法 2022-06-04 17:06:36 342人浏览 八月长安
摘要

本文实例讲述了node.js实现回调的方法。分享给大家供大家参考,具体如下: 向回调函数传递额外的参数 在调用函数中,使用匿名函数中实现需传递的参数,再次匿名函数内调用回调函数。 var events

本文实例讲述了node.js实现回调的方法。分享给大家供大家参考,具体如下:

向回调函数传递额外的参数

在调用函数中,使用匿名函数中实现需传递的参数,再次匿名函数内调用回调函数。


var events = require("events");
function CarShow() {
  events.EventEmitter.call(this);
  this.seeCar = function (make) {
    this.emit('sawCar', make);
  }
}
CarShow.prototype.__proto__ = events.EventEmitter.prototype;
var show = new CarShow();
function loGCar(make) {
  console.log("Saw a "+make);
}
function logColorCar(make, color) {
  console.log("Saw a %s %s ", color, make);
}
show.on("sawCar", logCar);
show.on("sawCar", function (make) {
  var colors = ["red", "blue", "black", "pink", "green"];
  var color = colors[Math.floor(Math.random()*3)];
  logColorCar(make, color);
});
show.seeCar("Ferrari");
show.seeCar("Porsche");
show.seeCar("Bugatti");

在回调中实现闭包

如果某个回调函数需要访问父函数的作用域的变量,就需要使用闭包,在函数块内部封装一个异步调用,并传入所需要的变量。


function logCar(logMsg, callback) {
  process.nextTick(function () {
    callback(logMsg);
  });
}
var cars = ["猎豹", "捷达", "朗逸"];
for(var idx in cars){
  var msg = "Saw a "+cars[idx];
  logCar(msg, function () {
    console.log("NORMal Callback "+ msg);
  });
}
for(var idx in cars){
  var msg = "Saw a "+cars[idx];
  (function (msg) {
    logCar(msg, function () {
      console.log("Closure Callback "+ msg);
    })
  })(msg);
}
//Normal Callback Saw a 朗逸
//Normal Callback Saw a 朗逸
//Normal Callback Saw a 朗逸
//Closure Callback Saw a 猎豹
//Closure Callback Saw a 捷达
//Closure Callback Saw a 朗逸

链式回调

使用异步函数时,如果两个函数都在事件队列上,则无法保证它们的运行顺序。解决方法是让来自异步函数的回调再次调用该函数,直到没有更多的工作要做,以执行链式回调。


function logCar(car, callback) {
  console.log("Saw a %$", car);
  if(cars.length){
    process.nextTick(function () {
      callback();
    });
  }
}
function logCars(cars) {
  var car = cars.pop();
  logCar(car, function () {
    logCars(cars);
  });
}
var cars = ["猎豹", "捷达", "朗逸"];
logCars(cars);

希望本文所述对大家nodejs程序设计有所帮助。

--结束END--

本文标题: node.js实现回调的方法示例

本文链接: https://lsjlt.com/news/12779.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • node.js实现回调的方法示例
    本文实例讲述了node.js实现回调的方法。分享给大家供大家参考,具体如下: 向回调函数传递额外的参数 在调用函数中,使用匿名函数中实现需传递的参数,再次匿名函数内调用回调函数。 var events ...
    99+
    2022-06-04
    示例 回调 方法
  • Node.js实现链式回调
    由于异步的关系,代码的书写顺序可能和执行顺序并不一样,可能想先执行A再执行B,但由于异步可能B要先于A执行.例如在OC中使用AFnetworking请求数据然后刷新页面,由于网络请求...
    99+
    2024-04-02
  • Node.js 回调函数实例详解
    Node.js 回调函数 阻塞与非阻塞 node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使...
    99+
    2022-06-04
    回调 详解 函数
  • python实现逻辑回归的方法示例
    本文实现的原理很简单,优化方法是用的梯度下降。后面有测试结果。 先来看看实现的示例代码: # coding=utf-8 from math import exp import matplotlib.p...
    99+
    2022-06-04
    示例 逻辑 方法
  • python 回调函数和回调方法的实现分析
    回调与事件驱动 回调函数有比较重要的意义:它在是事件驱动的体现 我们试想一个场景,如果我们触发了某个事件,比如点击事件 那么只要给这个点击事件绑定一个或多个处理事件,也就是回调函数 我们就可以在点击事件被触...
    99+
    2022-06-04
    回调 函数 方法
  • python 阿里云oss实现直传签名与回调验证的示例方法
    签名 import base64 import json import time from datetime import datetime import hmac from ...
    99+
    2024-04-02
  • Node.js中用D3.js的方法示例
    前言 D3.js 是一个基于数据操作文档JavaScript库。D3帮助你给数据带来活力通过使用HTML、SVG和CSS。D3重视Web标准为你提供现代浏览器的全部功能,而不是给你一个专有的框架。结合强大的...
    99+
    2022-06-04
    示例 中用 方法
  • Node.js复制文件的方法示例
    本文实例讲述了Node.js复制文件的方法。分享给大家供大家参考,具体如下: 本人开发过程中,经常遇到,要去拷贝模板到当前文件夹,经常要去托文件,为了省事,解决这个问题,写了一个node复制文件。 //...
    99+
    2022-06-04
    示例 文件 方法
  • Java实现回调的写法
    本篇内容介绍了“Java实现回调的写法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 引言在计算机程序设计中,回调函数,简称回调(Cal...
    99+
    2023-06-16
  • 如何实现.html()函数的回调方法
    小编给大家分享一下如何实现.html()函数的回调方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 通过JQuery的。ht...
    99+
    2024-04-02
  • Java多线程回调方法实例解析
    所谓回调,就是客户程序C调用服务程序S中的某个方法A,然后S又在某个时候反过来调用C中的某个方法B,对于C来说,这个B便叫做回调方法。下面看一个实际例子来理解:本示例设置一个提问者,一个回答者,而回答者需要回答提问者一个很深奥的问题时,这时...
    99+
    2023-05-30
    java 多线程 回调
  • 使用Node.js实现RESTful API的示例
    RESTful基础概念 REST(Representational State Transfer)描述了一个架构样式的网络系统,它首次出现在 2000 年 Roy Fielding 的博士论文中。在REST...
    99+
    2022-06-04
    示例 js Node
  • Node.js实现文件上传的示例
    文件上传指的是将用户本地的文件上传到服务器中。 上传文件需要处理两个位置: 客户端 客户端如何上传文件? 上传文件的表单项需要指定为input,type是file 要上传文件必须将表单enc...
    99+
    2022-06-04
    示例 文件上传 Node
  • java实现从方法返回多个值功能示例
    本文实例讲述了java实现从方法返回多个值功能。分享给大家供大家参考,具体如下:这里介绍三个方法,使java方法返回多个值。方法1:使用集合类方法2:使用封装对象方法3:使用引用传递示例代码如下:import java.util.HashM...
    99+
    2023-05-30
    java 方法 返回值
  • Node.js中流(stream)的使用方法示例
    前言 本文主要给大家介绍了关于Node.js 流(stream)的使用方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 流是基于事件的API,用于管理和处理数据,而且有不错的效率.借助事件...
    99+
    2022-06-04
    中流 示例 使用方法
  • node.js实现的装饰者模式示例
    本文实例讲述了node.js实现的装饰者模式。分享给大家供大家参考,具体如下: 装饰者模式的实现更强调类的组合而不是通过继承。这样可以增强灵活性。在node.js 中,可以通过call函数实现。call函数...
    99+
    2022-06-04
    示例 模式 node
  • python中int返回的方法示例
    这篇文章给大家分享的是有关python中int返回的方法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)...
    99+
    2023-06-14
  • 在Node.js中实现文件复制的方法和实例
    Node.js 本身并没有提供直接复制文件的 API,如果想用 Node.js 复制文件或目录,需要借助其他的 API 来实现。复制单个的文件可以直接用 readFile、writeFile,这样比较简便。...
    99+
    2022-06-04
    实例 文件 方法
  • JVM调优方法的示例分析
    这篇文章主要介绍了JVM调优方法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JVM调优总结Young(年轻代)年轻代分三个区。一个Eden区,两个Survivor...
    99+
    2023-06-17
  • android 指纹识别调用实现方法及示例代码
    activity_main.xml源码 <?xml version="1.0" encoding="utf-8"?> <LinearL...
    99+
    2022-06-06
    调用 示例 方法 指纹识别 指纹 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作