Array.map 是高阶函数,函数参数是同步的,非异步,如果内部异步调用,可以这样处理:
// 获取用户信息 data = data.map((item) => { // 异步的调用 通过 async 立即执行函数包装起来 (async() => { let user = await userModel.findOne({ _id: author }).lean() })() if (!user) user = {}; item.user = { realName: user.realName || '', mobile: user.mobile || '', avatar: user.avatar || '', } return item; })
是不是很简单~