node的异步操作错误处理

2017-07-13  本文已影响0人  名字长不重复

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
上一篇 下一篇

猜你喜欢

热点阅读