1

我正在尝试使用咖啡脚本和冰咖啡脚本进行异步/等待风格的编程。

如果“未定义”响应,我会得到什么。

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
4

1 回答 1

1

您的方法将不起作用,因为 iced-coffeescript 语法的await, defer使用略有不同。见#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
于 2015-08-14T11:25:38.657 回答