zoukankan      html  css  js  c++  java
  • Node.js链式回调

          由于异步的关系,代码的书写顺序可能和执行顺序并不一样,可能想先执行A再执行B,但由于异步可能B要先于A执行.例如在OC中使用AFnetworking请求数据然后刷新页面,由于网络请求是用block实现的异步方法,所以刷新的时候并没有数据,为了解决这个问题,一般会在请求响应结束在block中刷新页面(这就回出现循环引用的问题,不过node中不会出现).

         上面是OC中异步执行中的链式回调,在node.js中也是使用这样的方法在回调中调用方法来实现链式回调。

    function logCar(car,callback)
    {
        console.log("Saw a %s",car);
        process.nextTick(callback);
    }
    function logCars(cars)
    {
        var car=cars.pop();
        if (cars.length)
        {
          logCar(car,function(){
            logCars(cars);;
          });
        }
    }
    var cars = ["Ferrari", "Porsche", "Bugatti",
      "Lamborghini", "Aston Martin"];
    logCars(cars);
    "C:Program Files (x86)JetBrainsWebStorm 11.0.3in
    unnerw.exe" F:
    odejs
    ode.exe callback_chain.js
    Saw a Aston Martin
    Saw a Lamborghini
    Saw a Bugatti
    Saw a Porsche
    
    Process finished with exit code 0

    node.js自学阶段总结:

    从之前到现在的几篇博客算是把Node.js中基础的语法整理理解了一下,这些算是为以后的打的基础.下面要学的Buffer、Stream为文件模块、Http、套接字等打下基础,算是循序渐进吧.后面的大部分都是熟悉接口的一些应用,今天看了下Buffer、Stream和文件部分,都是Node.js的一些API的使用,理解方面也不算太难理解,主要还是这几天的一些node.js的模型、运行机制以及js的面向对象、回调的比较不好理解。

  • 相关阅读:
    16位汇编第三讲 分段存储管理思想
    16位汇编语言第二讲系统调用原理,以及各个寄存器详解
    /bin/sh 与 /bin/bash 的区别
    Linux中cat、more、less、tail、head命令的区别
    Linux之特殊权限(SUID/SGID/SBIT)
    HTML页面参数的传递与获取
    Ajax的跨域请求——JSONP的使用
    IDEA新建maven项目
    IDEA新建Web项目
    权限管理基础——原理与解决方案
  • 原文地址:https://www.cnblogs.com/5ishare/p/5296827.html
Copyright © 2011-2022 走看看