zoukankan      html  css  js  c++  java
  • async同步异步

    1.同步:
    var async = require("async");
    async.series([step1, step2, step3],
    function(err, values) {
    do somethig with the err or values v1v2v3
    });
    var async = require('async');
    async.series([function(cb) {
    step1(function(err, v1) {
    // do something with v1
    cb(err, v1);
    }),
    function(cb) {
    step2(...)
    },
    function(cb) {
    step3(...)
    }],
    function(err, values) {
    // do somethig with the err or values v1/v2/v3
    });
    2.并行:
    async.parallel([function(cb) {
    t.fire('a400', cb, 400)
    },
    function(cb) {
    t.fire('a200', cb, 200)
    },
    function(cb) {
    t.fire('a300', cb, 300)
    }],
    function(err, results) {
    log(’1 err: ‘, err); // -> undefined
    log(’1 results: ‘, results); // ->[ 'a400', 'a200', 'a300' ]
    });
    3.瀑布:多个函数依次执行,且前一个的输出为后一个的输入
    async.waterfall([function(cb) {
    log('1: ', 'start');
    cb(null, 3);
    },
    function(n, cb) {
    log('2: ', n);
    t.inc(n, cb);
    },
    function(n, cb) {
    log('3: ', n);
    t.fire(n * n, cb);
    }],
    function(err, result) {
    log(’1 err: ‘, err); // -> null
    log(’1 result: ‘, result); // -> 16
    });

  • 相关阅读:
    C++互斥器:Semaphores
    C++互斥器:Mutex
    内联函数(inline)
    C++显式转换
    线程同步控制
    拷贝构造函数——防篡改
    extern关键字
    虚析构、纯虚析构
    类的友元关系
    char 与 unsigned char的本质区别
  • 原文地址:https://www.cnblogs.com/yu-hailong/p/7439887.html
Copyright © 2011-2022 走看看