app.get('/', function (req, res) {
throw new Error('oh no!')
})
app.use(function (err, req, res, next) {
console.log(err.message) // 噢!不!
})
app.get('/', function (req, res) {
queryDb(function (er, data) {
if (er) throw er
})
})
app.use(function (err, req, res, next) {
// 这里拿不到错误信息
})
app.get('/', function (req, res, next) {
queryDb(function (err, data) {
if (err) return next(err)
// 处理数据
makeCsv(data, function (err, csv) {
if (err) return next(err)
// 处理 csv
})
})
})
app.use(function (err, req, res, next) {
// 处理错误
})
app.get('/', function (req, res, next) {
// do some sync stuff
queryDb()
.then(function (data) {
// 处理数据
return makeCsv(data)
})
.then(function (csv) {
// 处理 csv
})
.catch(next)
})
app.use(function (err, req, res, next) {
// 处理错误
})
var Promise = require('bluebird')
function wrap (genFn) { // 1
var cr = Promise.coroutine(genFn) // 2
return function (req, res, next) { // 3
cr(req, res, next).catch(next) // 4
}
}
app.get('/', wrap(function *(req, res) {
var data = yield queryDb()
// 处理数据
var csv = yield makeCsv(data)
// 处理 csv
}))
app.use(function (err, req, res, next) {
// 处理错误
})
app.get('/', wrap(async function (req, res) {
let data = await queryDb()
// 处理数据
let csv = await makeCsv(data)
// 处理 csv
}))
app.get('/', wrap(async (req, res) => {
if (!req.params.id) {
throw new BadRequestError('Missing Id')
}
let companyLogo
try {
companyLogo = await getBase64Logo(req.params.id)
} catch (err) {
console.error(err)
companyLogo = genericBase64Logo
}
}))
app.use(function (err, req, res, next) {
if (err instanceof BadRequestError) {
res.status(400)
return res.send(err.message)
}
...
})
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有