• nodejs中的异步流程序控制nsync


    异步编程是指由于异步I/O等因素,无法同步获得执行结果时,
    在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数、ajax请求等等
    http://cnodejs.org/topic/54acfbb5ce87bace2444cbfb
    并不是node中的,但是我们开发中经常使用
    使用npm init初始化项目
    安装cnpm install async --dev
    https://www.npmjs.com/package/async
    http://caolan.github.io/async/
    创建一个文件
    async.js
    导入async
    var async = require('async')
    console.time('test')

    //串行无关联,时间为两次时间之和,用法一
    async.series([
    function (callback) {
    setTimeout(function(){
    callback(null, 'one')
    }, 2000)
    },
    function (callback) {
    setTimeout(function(){
    callback(null, 'two')
    }, 5000)
    }
    ], function(err, results){
    console.log(results)
    console.timeEnd('test')
    })

    //串行无关联,时间为两次事件之和,用法二
    async.series({
    one: function (callback) {
    setTimeout(function(){
    callback(null, '1')
    }, 1000)
    },
    two: function (callback) {
    setTimeout(function(){
    callback(null, '2')
    }, 2000)
    }
    }, function(err, results){
    console.log(results)
    console.timeEnd('test')
    })
    //并行无关联,等待事件为最长时间请求过程
    async.parallel([
    function (callback) {
    setTimeout(function(){
    callback(null, 'one')
    }, 2000)
    },
    function (callback) {
    setTimeout(function(){
    callback(null, 'two')
    }, 5000)
    }
    ], function(err, results){
    console.log(results)
    console.timeEnd('test')
    })

    // 串行有关联,第一个操作结束之后才可以进行下一个
    async.waterfall([
    function (callback) {
    callback(null, 'one', 'two')
    },
    function (arr1, arr2, callback) {
    callback(null, arr1, arr2, 'three')
    },
    function (arr1, arr2, arr3, callback) {
    callback(null, [arr1, arr2, arr3, 'done'])
    }
    ], function(err, results){
    console.log(results)
    })
    npm scripts
    可以修改package.json中的scripts中的
    "build":"node async.js"
    命令行执行npm run build
    使用npm run 可以查看可运行命令

  • 相关阅读:
    网站测试中如何做好安全性测试
    Web安全性测试总结
    文件上传验证绕过技术总结
    Burp Suite使用介绍
    Burpsuite教程与技巧之HTTP brute暴力破解
    burpsuite绕过本地javascripte上传文件
    文件上传漏洞演示脚本之js验证
    上传验证绕过
    Burp Suite详细使用教程
    关于post和get传递参数的区别
  • 原文地址:https://www.cnblogs.com/zhaodahai/p/6831200.html
Copyright © 2020-2023  润新知