美文网首页
关于node.js的那些事(四)—异步编程的优势与难点

关于node.js的那些事(四)—异步编程的优势与难点

作者: llkevin13579 | 来源:发表于2020-07-14 00:02 被阅读0次

       有异步I/O,必有异步编程。异步编程有它的优势,也有它的难点,下面我们就这门语言异步编程的优势和难点来展开谈谈。

       它的优势当然是它的底层机制:非阻塞的I/O模型,它可以令CPU和I/O不会相互影响,对于最近的云计算应用,它更加可以施展才能。利用事件循环,js就像一个分配任务和处理结果的大管家,I/O线程池里的各个I/O线程都是小二,负责兢兢业业地完成分配来的任务,小二和管家之间互不依赖,这令到整个客栈的效率提高不少。所以Node.js很好的解决了I/O的性能问题,而对于CPU密集型的计算就要看管家的能耐了。在使用的过程中,特别是高并发的状况下,需要防止过多地消耗CPU的时间片,这样才能很好的利用node.js的特性。只要合理利用Node的异步模型和V8的高性能,就可以充分发挥CPU和I/O资源的优势。

       与此同时,它的难点也出现了,一个是异步的代码编写方法实在是太过奇葩,容易造成回调地狱,后面出现的Promise机制很好的解决了这个问题,Promise通过封装异步调用,实现了正向用例和反向用例的分离以及逻辑处理延迟,Promise带了两个参数--resolve和reject,resolve表示完成态,reject表示失败态。另外还有一个重要的方面,就是在异常处理的方式上面,通常我们用try{...} catch{...} finally{...}, 但这种写法不一定捕捉的是异步方法里的错误,像类似JSON.parse()方法,如果里面传的不是JSON,也会报错,也会进入到catch块,这个时候就很难判断错误的位置。

       很多人说XXX语言是世界上最好的语言,其实没有这一说,只有最合适的语言。当我们处理高并发非CPU密集型的数据的时候,可以优先选择Node.js, 这样就可以把Node.js的优势发挥到极致。

相关文章

  • 关于node.js的那些事(四)—异步编程的优势与难点

    有异步I/O,必有异步编程。异步编程有它的优势,也有它的难点,下面我们就这门语言异步编程的优势和难点来展开谈...

  • 异步编程的优势与难点

    什么是异步编程 ## 1 异常处理 原则一必须执行调用者传入的回调函数 原则二正确传递回,一场调用者判断须执行调用...

  • 01node.js

    01、模块 02、关注学习 03、Node.js 回调函数Node.js 异步编程的直接体现就是回调。异步编程依托...

  • Java8异步编程-CompletableFuture

    异步编程的难点 如何优雅地实现异步编程一直都是一个难题,异步编程的通常做法就是采用callback的方法,但是这种...

  • Java8异步编程-CompletableFuture

    异步编程的难点 如何优雅地实现异步编程一直都是一个难题,异步编程的通常做法就是采用callback的方法,但是这种...

  • Node学习(3)--异步编程

    Node.js 回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回...

  • 小程序-同步异步

    异步编程的优势性能更高,无需等待上一级执行完成,下一步就可异步执行。 异步编程的劣势维护与调试难度更大。 回调函数...

  • node.js(六)

    Node.js 回调函数Node.js 异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后...

  • 2020-02-23

    Node.js回调函数 Node.js异步编程的直接体现就是回调 异步编程依托于回调来实现,但不能说使用了回调后程...

  • 异步编程那些事

    回调函数 最原始的callback,优点是简单、容易理解,当然也有很严重的缺点是不利于代码的阅读和维护,多了之后的...

网友评论

      本文标题:关于node.js的那些事(四)—异步编程的优势与难点

      本文链接:https://www.haomeiwen.com/subject/awqthktx.html