使用es6语法实现node.js的静态文件服务器:主要功能是浏览器请求某个文件,服务器端把对应的文件内容返回给客户端。
其中ES6比较好的api接口:
http://es6.ruanyifeng.com/。
主要用到了 es6的 class 和 Promise
Promise
Promise用于异步编程,可以避免无限嵌套的回调函数,用法:
// 默认传入两个参数,都是函数
// 成功时执行 resolve
// 失败时执行 reject
var p = new Promise(function(resolve, reject) {
// 这里进行异步操作
if (/* 异步操作成功 */) {
resolve(value);
} else {
// 异步操作失败
reject(error);
}
});
例如:
const fs = require('fs');
var r = function() {
return new Promise(function(resolve, reject) {
// 读取文件
fs.readFile('./test.txt', function(err, data) {
if (err) {
// 读取文件失败
reject(err);
} else {
// 读取文件成功
resolve(data);
}
});
});
};
// then() 用于添加异步任务执行成功时需要执行的函数
// catch() 用于添加异步任务执行失败时需要执行的函数
r().then(function(data) {
console.log(data);
}).catch(function(err) {
console.log(err);
});