1.3 Node核心语法回顾

简介: 本节回顾Node核心语法,涵盖VsCode安装、工程创建、代码运行与模块化封装,重点讲解同步异步机制,通过Promise、async/await实现异步操作,强化代码复用与高内聚低耦合编程思想,辅以实用案例练习。

1.3 Node核心语法回顾
VsCode安装
在完成上述的Node环境安装之后,我们接下来通过几个核心语法,回顾一下js、node知识。工欲善其事必先利其器,所以我需要确保你本地安装了Ide软件,即VsCode。你依然有两种安装方式
● 官方下载、安装https://code.visualstudio.com/
● 根据我所提供的安装包,解压安装

新建本地工程
我们可以在任意非中文目录下,新建一个文件夹,用于后续存放代码,如下我就创建在桌面

然后,我们用VsCode,打开当前文件夹即可

运行Node.js代码
如果我们需要编写并运行一段js代码,实际非常简单,只需要创建一个后缀为js的文件,然后输出对应的文本
console.log('Hello World')

掌握代码拆分复用
在复杂的工作场景中,往往我们需要调用别人写好的代码,比如我现在需要
● 将2025-12-12 17:00:00这种年月日时分秒的格式,转换成只要年月日
● 计算两个数值的求和、求差、开方、求根、求导、微分等等函数计算场景
如果多个地方都需要,我不可能每个地方都编写一份重复代码,因此我开始考虑做一下代码的复用
这也是整个编程领域非常关注的一个点:高内聚、低耦合
为了完成代码的复用,我们就需要做一下代码的:封装处理,这里我们举一个简单的例子来完成当前思想的实践
● 现在A、B两个调用方都需要完成一个求和的计算,因此就需要封装一个求和的函数,这里我们叫util.js
function sum(a, b) {
return a + b;
}

module.exports = { sum };
然后我们就可以在需要使用的地方完成代码的调用,如A.js
const { sum } = require('./util');

console.log(sum(2, 3));
代码结构如下:

案例练习
● 封装一个函数,用于计算商品的价格,用户会输入:单价、数量、优惠金额
● 定义一个调用文件,调用上面的函数,完成价格计算
这个案例对于大家不难,但我们着重关注这个编程思想:封装、代码复用
掌握异步函数实现
在上面的案例中,我们的调用思路都是阻塞式的执行,即执行完之后,必须等对方返回结果。这种方式的调用我们也称之为:同步调用。同步的优势在于实时性强、能立马得到结果,缺点就是性能较差,阻塞等待结果。
而异步调用,就很好的解决了这个问题,这里我们模拟一个:查询用户的等待异步执行的效果。
function sum(a, b) {
return a + b;
}

function getUser()
{
return new Promise(resolve => setTimeout(() => resolve('张三'), 1000))
}

module.exports = { sum, getUser };
然后定义一个新的调用函数,以便做接口测试
const { getUser } = require('./util');

// 使用 async/await 方式调用异步函数
async function fetchUser() {
try {
const user = await getUser();
console.log('获取到用户:', user);
} catch (error) {
console.error('获取用户失败:', error);
}
}

fetchUser();
解释一下这里的三个核心关键词的作用
● Promise:给一步函数打包,统一返回结果。类似于点单之后拿到取餐号
● async:声明一下我这个函数式有一步操作,给函数打个标签,内部有一个等待的异步操作
● await:等取餐号叫到你拿到结果。只能在async修饰的函数里,等Promise完成,拿到 resolve的结果
异步操作(如数据库查询) → 用 Promise 封装 → 在 async 函数里用 await 等待 → 优雅拿到结果/捕获错误
案例练习
● 封装一个函数,查询购物车里面的商品,返回任意商品即可
● 封装一个异步调用函数,完成购物车商品的查询

相关文章
|
前端开发 搜索推荐 UED
解密前端路由: hash模式vs.history模式
解密前端路由: hash模式vs.history模式
|
存储 分布式计算 算法
RoaringBitmap的原理与应用
RoaringBitmap的原理与应用
988 2
|
23天前
|
人工智能 数据挖掘 Shell
【全网最详细】Python官网下载安装教程 | Python3使用图文步骤详解(2026最新)
Python是语法简洁、易学易用的高级编程语言,广泛应用于Web开发、数据分析、AI及自动化等领域。其强大生态(如Django、Pandas、TensorFlow)极大提升开发效率。推荐新手选用稳定LTS版Python 3.11,兼顾性能与兼容性。(239字)
|
5月前
|
JavaScript
1.2 NodeJS安装
本节介绍Node.js的安装方法,可通过官网或本地安装包进行。安装时需选择无空格的英文路径,并参考手册完成。安装后通过“win+R→cmd→node -v”命令验证环境,能输出版本号即成功,版本无需与示例一致。
|
Linux 网络安全
树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)
树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)
树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)
|
5月前
|
JavaScript 前端开发 API
Vue.js 快速上手指南
Vue.js 是轻量级渐进式前端框架,核心聚焦视图层,上手简单、生态丰富。本文提供可直接复制的快速入门指南,涵盖 Vue3 组合式 API、响应式数据、指令、组件化、生命周期及 Axios 异步请求等实战内容,附完整示例与避坑提示,零基础也能快速搭建交互式页面,助力高效开发。
|
8月前
|
存储 Java 开发工具
【Git】零基础入门:配置与初始操作实战指南
本文聚焦 Git 的“从 0 到 1”配置与基础操作,旨在帮助 Java 开发者快速掌握环境搭建、用户配置、仓库初始化、代码提交、版本回退等核心技能。内容设计上避免涉及复杂的分支策略或高级命令,以实用为导向,适合零基础入门者系统学习,为后续参与企业级项目开发奠定版本控制基础。
|
5月前
|
JavaScript 前端开发 关系型数据库
3.2 nodejs连接mysql
本节介绍Node.js连接MySQL的配置方法:通过创建`.env`文件管理数据库配置,实现解耦;在`config/db.js`中使用`mysql2/promise`和`dotenv`模块建立连接池,并提供连接测试功能,确保数据库连接稳定可靠。
|
API UED 容器
深入探索 Element UI:自定义滚动条与弹出层管理的技巧
在这篇博客中,我们将深入探讨 Element UI 中的自定义滚动条及弹出层管理技巧。文章详细介绍了 el-scrollbar 组件的使用和参数设置,以及 PopupManager 如何有效管理弹出层的 z-index。我们还将探讨如何实现灵活的全屏组件,利用 vue-popper 创建自定义弹出层,最后介绍 ClickOutside 指令的用法。这些高级技巧将帮助你提升 Element UI 应用程序的用户体验与交互灵活性。
1681 1
深入探索 Element UI:自定义滚动条与弹出层管理的技巧
|
11月前
|
存储 Java API
MinIO Java SDK 7.1.4 升级到 8.5.17 需要注意什么
现在我需要你帮我分析对比这个两个sdk在对外的接口设计上是否有不兼容的变更
1056 5