伙计们,给出以下代码......如何重用returnResult
和returnError
函数?是否可以使其范围对所有必需的文件都是全局的。
fs = require 'fs'
module.exports.syncJSON = (req, res)->
returnResult = (data) ->
res.send data
returnError = (data) ->
res.send data
jsonFileContents = fs.readFileSync('sample.json', 'utf8')
returnResult(jsonFileContents)
module.exports.asyncJSON = (req, res)->
fs.readFile 'sample.json', (err, data) ->
if err
returnError(err)
else
returnResult(data.toString())
returnResult = (data) ->
res.send data
returnError = (data) ->
res.send data
答案 0 :(得分:1)
我认为您要问的是如何在两个导出(returnError
和returnResult
)中使用.asyncJSON
和.syncJSON
。全局通常是一个坏主意。如果其他人覆盖你的全局怎么办?你会有一个奇怪的,间歇性的失败。如果是这样,您需要做的就是将它们移出当前范围并传入响应对象:
s = require 'fs'
returnResult = (res, data)->
res.send data
returnError = (res, err) ->
res.send err
module.exports.syncJSON = (req, res)->
jsonFileContents = fs.readFileSync('sample.json', 'utf8')
returnResult(res, jsonFileContents)
module.exports.asyncJSON = (req, res)->
fs.readFile 'sample.json', (err, data) ->
if err
returnError(res, err)
else
returnResult(res, data.toString())