正則表達式
作者:互联网
REGEXP對象
javaScript通過内置對象REGEXP支持正則表達式
兩種淡化實例化regExp對象
1.字面量 var reg =/\bis\b/ 不加g是搜索到第一个就停止,加了g之后是全文匹配。
2.構造函數 let reg = new RegExp(’\bis\b’, ‘g’);
6-7日
回调函数的弊端
嵌套层次很深,难以维护
无法正常使用return和throw
无法正常的检索堆栈信息
在多个回调之间难以建立联系
const fs = require('fs')
const path = require('path')
// 声明 最大函数
function findLargest(dir, callback){
// 读取fs文件
fs.readdir(dir, function (err, files){
// 如果发生错误,就用回调函数传出错误
if(err) return callback(err);
// 如果正常就执行以下操作
let count = files.length;
let errored = false;
let states = [];
files.forEach( file => {//遍历循环
// 去取文件的状态
fs.stat(path.join(dir, file), (err, stat) =>{
// 如果发生错误,就用回调函数去传出错误
if(errored) return;
if( err ) {
errored = true;
return callback(err);
}
// 如果正常,就把文件状态放入数组status中
status.push(stat);
//count计数 等到count变成0的时候就默认读取完毕
if(--count === 0){
// 取出最大的文件
let largest = states.filter(funtion(stat){ return stat.isFile()})reduce(function (prev, next) {
if (prev.size > next.size) return prev;
return next;
})
callback(null, files[status[status.indexOf(largest)]]);
}
})
});
})
}
// 调用寻找最大函数
findLargest('./path/to/dir', function (err, filename){
// 错误先行
if(err) return console.error(err);
console.log('largest file was:', filename);
})
}
标签:stat,fs,return,err,表達式,正則,let,dir 来源: https://blog.csdn.net/weixin_40878286/article/details/91064701