Vue+element+Nodejs学习记录(2)

这篇博客详细介绍了在Vue+Element+Node.js项目中处理异步回调和Promise的方法,包括async/await的使用。接着讨论了MySQL操作,如数据格式、字段类型选择以及如何利用模板文本进行SQL语句拼接。博主还概述了整个处理流程,从数据库配置到控制器、路由器和应用层的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.异步回调和Promise使用

我们先看一个异步数据读取的过程:

const fs = require('fs')
const path = require('path')

//resolve可以通过拼接多个步骤的方式把文件名拼出来,__dirname是指当前目录
const fullFileName = path.resolve(__dirname,'files','a.json')

fs.readFile(fullFileName,(err,data) => {

	if(err){
		console.error(err)
		return
	}
	//fs.readFile 读出来的data数据是二进制的流文件,所以要经过toString转换
	console.log(data.toString())

})

我们想封装这个读取文件的函数,并测试多次回调:

//数据a.json b.json c.json是一个嵌套关系
a.json 
{
    "next": "b.json",
    "msg": "this is a"
}
b.json 
{
    "next": "c.json",
    "msg": "this is b"
}
c.json
{
    "next": null,
    "msg": "this is c"
}

// callback 方式获取一个文件的内容
function getFileContent(fileName, callback) {
    const fullFileName = path.resolve(__dirname, 'files', fileName)
    fs.readFile(fullFileName, (err, data) => {
        if (err) {
            console.error(err)
            return
        }
        callback(
            JSON.parse(data.toString())
        )
    })
}

// 测试 callback-hell (aData是参数,上面的JSON.parse(data.totring是实参,aData是形参)。)
getFileContent('a.json', aData => {
    console.log('a data', aData)
    getFileContent(aData.next, bData => {
        console.log('b data', bData)
        getFileContent(bData.next, cData => {
            console.log('c data', cData)
        })
    })
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值