• 技术文章 >Web开发 >JavaScript

    javascript怎样避免回调地狱

    小妮浅浅小妮浅浅2021-06-02 11:31:26原创260

    1、async.series()

    当要运行一个函数然后在所有函数成功执行后需要获取结果时,它很有用。 async.waterfall() 和 async.series() 之间的主要区别在于, async.series() 不会将数据从一个函数传递到另一个函数。

    async.series([
        function(callback) {
            // do some stuff ...
            callback(null, 'one');
        },
        function(callback) {
            // do some more stuff ...
            callback(null, 'two');
        }
    ],
    // optional callback
    function(err, results) {
        // results is now equal to ['one', 'two']
    });

    2、async.waterfall()

    当要一个接一个地运行某些任务,然后将结果从上一个任务传到下一个任务时,这个函数非常有用。它需要一个函数“任务”数组和一个最终的“回调”函数,它会在“任务”数组中所有的函数完成后,或者用错误对象调用“回调”之后被调用。

    var async = require('async');
    async.waterfall([
        function(callback) {
          /*  
            Here, the first argument value is null, it indicates that
            the next function will be executed from the array of functions.
            If the value was true or any string then final callback function
            will be executed, other remaining functions in the array
            will not be executed.
          */
            callback(null, 'one', 'two');
        },
        function(param1, param2, callback) {
            // param1 now equals 'one' and param2 now equals 'two'
            callback(null, 'three');
        },
        function(param1, callback) {
            // param1 now equals 'three'
            callback(null, 'done');
        }
    ], function (err, result) {
        /*
          This is the final callback function.
          result now equals 'done'
        */
    });

    以上就是javascript避免回调地狱的方法,大家在遇到类似的情况时,可以尝试用本篇的方法进行解决。更多Javascript学习指路:Javascript

    专题推荐:javascript回调地狱
    上一篇:javascript回调函数的异步探究 下一篇:javascript算法的复杂度介绍

    相关文章推荐

    • javascript 使用技巧• Javascript监听滚动条滚动停止• 前端性能优化第一篇:浅谈javascript函数节流与防抖• 对javascript集合的封装以及jquery• JavaScript如何编写解释器• JavaScript解释器是什么?• Python和JavaScript的区别分析• Python与JavaScript间代码转换的四种工具• JavaScript的私有类字段和TypeScript的私有修饰符• javascript字符串类型的转换• 在TypeScript和JavaScript中使用可选链接• javascript隐藏和显示div的方法• javascript判断变量相等的方法整理• JavaScript数据类型• JavaScript数组有哪些遍历方法• JavaScript for-in和for-of的不同点• JavaScript使用map创建新数组• filter在JavaScript中过滤数组元素• JavaScript同步和异步的介绍• JavaScript垃圾回收的两种方法• JavaScript引发内存泄漏的情况• javascript:void怎么解决• javascript内存泄漏的识别方法• javascript中web worker是什么
    品易云

    全部评论我要评论

  • 取消发布评论发送
  • 

    Python学习网