
Node.js
最后冰吻free
不在沉默中死亡,就在沉默中爆发
展开
-
redlock并发demo
redlock分布式锁原创 2022-08-16 18:49:14 · 210 阅读 · 0 评论 -
ts类型断言
interface Cat { name: string; run(): void;}interface Fish { name: string; swim(): void;}function isFish(animal: Cat | Fish) { if (typeof (animal as Fish).swim === "function") { return true; } return false;}functi原创 2021-12-10 14:35:31 · 766 阅读 · 0 评论 -
解释器与编译器区别
让我们看看编译器和解释器之间的主要区别1、编译器将一个程序作为一个整体进行翻译,而解释器则一条一条地翻译一个程序2、在编译器的情况下生成中间代码或目标代码。而解释器不创建中间代码3、编译器比解释器要快得多,因为编译器一次完成整个程序,而解释器则是依次编译每一行代码4、由于要生成目标代码,编译器比解释器需要更多的内存5、编译器同时显示所有错误,很难检测错误,而解释器则逐个显示每条语句的错误,更容易检测错误6、在编译器中,当程序中出现错误时,它会停止翻译,并在删除错误后重新翻译整个程序。相反,当解释原创 2021-12-09 22:59:25 · 8414 阅读 · 0 评论 -
node.js zlib
var fs = require("fs");var zlib = require("zlib");// 压缩fs.createReadStream("server.js") .pipe(zlib.createGzip()) .pipe(fs.createWriteStream("server.js.gz"));console.log("文件压缩完成。");// 解压 fs.createReadStream("server.js.gz") .pipe(zlib.createGu原创 2021-11-21 21:29:30 · 895 阅读 · 0 评论 -
node.js async&sync
const fs = require("fs");// 非阻塞文件读取,node.js几乎所有函数都支持异步调用,最后一个参数是回调函数fs.readFile("./async.js", function (err, data) { if (err) { console.log(err); return; } console.log(data.toString());});console.log("async read finish...");// 使用阻塞函数进行原创 2021-11-21 19:59:53 · 894 阅读 · 0 评论 -
node.js http
const http = require("http");// 使用http包可以很方便的实现简单的http服务器,createServer返回对象有listen方法监控端口http .createServer(function (request, response) { // 发送HTTP头部 // HTTP状态值:200:Ok response.writeHead(200, { "Content-Type": "text/plain" }); // 发送响应数据原创 2021-11-21 17:59:30 · 1345 阅读 · 0 评论 -
node.ts function
// 命名函数,函数名称addfunction add(x, y) { return x + y;}// 匿名函数,赋值给myAdd变量let myAdd = function(x, y) { return x + y; };// 为上面函数参数和返回值添加类型function add(x: number, y: number): number { return x + y;}// 赋值语句左边没有类型,右边函数有参数和返回值类型,编译器会自动推断为下面的完整函数类型let原创 2021-10-24 23:02:18 · 130 阅读 · 0 评论 -
node.ts static
class Grid { // static修饰的变量或函数,访问时类似this. 只需要类名称.var_name/func_name static origin = {x: 0, y: 0}; calculateDistanceFromOrigin(point: {x: number; y: number;}) { let xDist = (point.x - Grid.origin.x); let yDist = (point.y - Grid.orig原创 2021-10-23 23:28:40 · 155 阅读 · 0 评论 -
node.ts readonly
/*readonly一般用于修饰属性,包括类和interface*/class Octopus { // 修饰属性时,可以在构造函数进行赋值 readonly name: string; // 也可定义时直接初始化,后不能被更改 readonly numberOfLegs: number = 8; constructor (theName: string) { this.name = theName; } }let dad = new O原创 2021-10-23 23:21:46 · 352 阅读 · 0 评论 -
node.ts class
class Animal { name: string; constructor(theName: string) { this.name = theName; } move(distanceInMeters: number = 0) { console.log(`${this.name} moved ${distanceInMeters}m.`); }}class Snake extends Animal { constructor(name:原创 2021-10-23 21:38:15 · 164 阅读 · 0 评论 -
estree
estree转载 2021-10-16 18:54:41 · 1562 阅读 · 0 评论 -
node.js 立即执行函数
const alert = require("alert");/* 函数定义,js引擎规定,function出现在行首,一律解析为语句*/function test(e) { console.log(e);}// 若不让function出现在行首,让js引擎理解为一个表达式,则将其放置括号里(function (e){ alert(e);})(1); // 加括号可以直接调用此函数(function (e){ alert(e);}(1)); // 加括号原创 2021-10-16 16:15:49 · 1180 阅读 · 0 评论 -
js 判断文件是否存在
function isFileExisted(file) { return new Promise((resolve, reject) => { fs.access(file, (err) => { if (err) { console.log("aaaa"); resolve(false);//"不存在" } else { console.log("bbb");原创 2021-10-11 22:59:56 · 7240 阅读 · 3 评论 -
ts promise
const fs = require("fs");console.log("hello");// fs.readFile(path, (err,data)={}); fs读取文件回调函数fs.readFile("./file.txt", (err, data)=>{ if (err) throw err; console.log(data.toString());});// promise的回调函数let p = new Promise((resolve, rejec原创 2021-09-27 22:59:01 · 893 阅读 · 0 评论 -
node 在线下载安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bashnvm install 16.6.1 (version_num)原创 2021-08-11 10:40:49 · 634 阅读 · 0 评论