如何在 iced coffeescript 中正确 return 延迟对象
How to properly return defered object in iced coffeescript
我正在尝试使用 coffeescript 和 iced coffeescript 进行 async/await 编程风格。
如果 'undefined' 响应,我会得到什么。
module.exports = update: (req, res) ->
await user = User.find({ id: 1 }).exec (err, user) ->
throw err if err?
console.log(err) # null
console.log(user) # object
defer user
console.log user # undefined
您的方法将不起作用,因为 await, defer
的 iced-coffeescript 语法使用方式略有不同。参见 #iced
您已将 defer
放入 await
代码块,但它实际上用作 await
的回调。
编辑:缺少回调函数。
module.exports = update: (req, res) ->
findUser = (id, cb) ->
await user = User.find({ id: 1 }), defer err, user
if err then return [ err, null ]
cb err, user
await findUser id, defer result
console.log result.user
我正在尝试使用 coffeescript 和 iced coffeescript 进行 async/await 编程风格。
如果 'undefined' 响应,我会得到什么。
module.exports = update: (req, res) ->
await user = User.find({ id: 1 }).exec (err, user) ->
throw err if err?
console.log(err) # null
console.log(user) # object
defer user
console.log user # undefined
您的方法将不起作用,因为 await, defer
的 iced-coffeescript 语法使用方式略有不同。参见 #iced
您已将 defer
放入 await
代码块,但它实际上用作 await
的回调。
编辑:缺少回调函数。
module.exports = update: (req, res) ->
findUser = (id, cb) ->
await user = User.find({ id: 1 }), defer err, user
if err then return [ err, null ]
cb err, user
await findUser id, defer result
console.log result.user