Promise 总结

回调地狱

1
2
3
4
5
6
7
8
9
setTimeout(() => {
console.log(1);
setTimeout(() => {
console.log(2);
setTimeout(() => {
console.log(3);
}, 1000);
}, 1000);
}, 1000);
阅读更多

Vue Router中 子路由获取父路由的参数

一句话总结 可以给router-view 组件绑定 props, 这样内部的路由组件就会获取到参数了

如果一个子路由需要获取其上一级的路由参数,你可以在定义该子路由时使用 props 属性将父路由参数传递给子路由组件。然后,再在子路由组件中使用 this.$route.params 来获取父路由参数。

阅读更多

数据结构学习-链表

链表

链表是一种物理存储单元上非连续, 非顺序的存储结构, 数据元素的逻辑顺序是通过链表指针实现的, 链表由一些列结点组成, 每个节点包含两个部分: 一个是存储数据元素的数据域, 另一个是存储下一个结点地址的指针域

阅读更多

ts-node调试ESM项目提示[ERR_UNKNOWN_FILE_EXTENSION]

如果直接使用 ts-node 运行开启了 ESM 的项目, 会提示未知扩展名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
PS C:\学习\前端\VoiceGPT\voiceGPT-backend> ts-node .\src\index.ts
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for C:\学习\前端\VoiceGPT\voiceGPT-backend\src\index.ts
at new NodeError (node:internal/errors:399:5)
at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:79:11)
at defaultGetFormat (node:internal/modules/esm/get_format:121:38)
at defaultLoad (node:internal/modules/esm/load:81:20)
at nextLoad (node:internal/modules/esm/loader:163:28)
at ESMLoader.load (node:internal/modules/esm/loader:605:26)
at ESMLoader.moduleProvider (node:internal/modules/esm/loader:457:22)
at new ModuleJob (node:internal/modules/esm/module_job:64:26)
at ESMLoader.#createModuleJob (node:internal/modules/esm/loader:480:17)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:434:34) {
code: 'ERR_UNKNOWN_FILE_EXTENSION'
}
阅读更多

TS+ESM项目导入自定义模块不加扩展名就报错的问题

折腾了两个小时,我基本弄明白了如何在 TypeScript 中使用自定义的 ESM 模块。

一开始以为直接导入文件名就行,不需要扩展名。但是,这样使用 TSC 编译出来之后运行报错,因为 ESM 规范要求导入自定义模块必须带有扩展名。然而,TSC 编译出来的项目中导入模块是不带扩展名的,所以 Node.js 会报错。

阅读更多

数据结构学习-队列

队列是什么

队列是一种特殊的线性表, 他只允许在表的前端进行删除操作, 在表的后端进行插入操作

阅读更多