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的面向对象、回调的比较不好理解。

  • 相关阅读:
    线性代数思维导图——3.向量
    微分中值定理的基础题型总结
    构造函数
    Python课程笔记(七)
    0241. Different Ways to Add Parentheses (M)
    0014. Longest Common Prefix (E)
    0013. Roman to Integer (E)
    0011. Container With Most Water (M)
    0010. Regular Expression Matching (H)
    0012. Integer to Roman (M)
  • 原文地址:https://www.cnblogs.com/5ishare/p/5296827.html
Copyright © 2011-2022 走看看