【发布时间】:2020-07-08 19:25:49
【问题描述】:
我正在制作一个类似社交媒体的网站,用户可以在其中互相关注。在我的一条路线中,我想遍历当前用户关注的数组,这是一个 id 数组,找到这些用户的帖子并将它们添加到一个大数组中,然后按日期对帖子进行排序。问题是数组在帖子被添加到它之前被发送到客户端。不确定我是否需要某种异步功能或什么。
我的发帖途径
const express = require('express')
const user = require("../models/user')
const router = express.Router()
router.get("/api/:username/following/posts", (req, res) => {
let following = [...req.user.following, req.user._id]
let posts = [], i;
for(i = 0; i < following.length; i++){
User.findById(following[i]).populate("posts")
.then(user => {
for(let b = 0; b < user.posts.length; b++){
posts.push(user.posts[b])
}
})
.catch(err => {
console.log(err)
})
}
console.log(posts) // returns []
res.json(posts)
})
【问题讨论】:
标签: javascript express mongoose promise async-await