小编uru*_*ong的帖子

异步函数始终返回undefined

即时通讯使用nodejs 8.我已经取代了promise结构代码以使用async和await.

当我需要返回一个对象但等待句子解析未定义时,我有一个问题.

这是我的控制器方法:

request.create = async (id, params) => {
    try {
        let request = await new Request(Object.assign(params, { property : id })).save()
        if ('_id' in request) {
            Property.findById(id).then( async (property) => {
                property.requests.push(request._id)
                await property.save()

                let response = {
                    status: 200,
                    message: lang.__('general.success.created','Request')
                }

                return Promise.resolve(response)
            })
        }
    }
    catch (err) {
        let response = {
            status: 400,
            message: lang.__('general.error.fatalError')
        }

        return Promise.reject(response)
    }               
}
Run Code Online (Sandbox Code Playgroud)

在http请求函数中:

exports.create = async (req, res) => {
    try {
        let response = …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous node.js promise async-await

4
推荐指数
1
解决办法
3262
查看次数

标签 统计

async-await ×1

asynchronous ×1

javascript ×1

node.js ×1

promise ×1