最近在学nodejs,看到很多函数后面都会有一个回调函数。例如我举一个不恰当的例子并说明我的疑惑
例如有这样一个代码,我进行改写:
readFile('abc',(err,files) => {
if(err) throw err
else {
console.log(files) // 如果readFile的第一个参数不为false,就输出第一个参数的值
}
})
例如这个函数是这样暴露api实现上面注释功能的,那么我很好奇源码会如何定义的。自己也尝试写了一下
function readFile(path,callback) {
let flag = false
if(path) {
flag = true // 我的思路是设置一个标志位,当flag为true则回调函数的err就为false
}
.... // 后面就有点模糊不知道怎么写了
}
求大神帮忙解惑一下,也可能是我JS掌握的不太扎实。。有点乱了,谢谢啦
如果只是满足你第一个注释的要求的话,按下面这样写就好了
node 里面回调的第一个参数是 err ,如果没有错误的话
err=null
,这样在回调函数里面可以通过if(err){ throw err}
来判断是否有错误,如果没有错误,就不会执行判断里面的语句,如果有错误根据需要抛出错误或者做别的处理.