node的异步操作错误处理

node

node中的异步操作

Node采用V8引擎处理JavaScript脚本,最大特点就是单线程运行,一次只能运行一个任务。这导致Node大量采用异步操作(asynchronous opertion),即任务不是马上执行,而是插在任务队列的尾部,等到前面的任务运行完后再执行。

node为了执行某一任务的后续操作,利用回调函数来进行获取数据,但是上一步的操作可能会出现操作的错误,此次操作为异步操作,不能利用try-catch语句来进行错误的抛出

为此几乎大部分的异步回调函数的第一个参数都是一个error对象,第二个参数为上一步获取的值value

var fs = require('fs');
//利用异步操作的回调函数来抛出错误
fs.readFile('./10.txt',function(err,data) {
    if (err) throw err;
    console.log(data.toString());
})
//利用try-catch来进行抛出是无法抛出错误的
try {
    fs.readFile('./10.txt', function(err, data) {
        console.log(data);
    })

} catch(e) {
    console.log(e);
}

throw错误抛出.png
try-catch不会抛出错误.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容