Javascript 一个对象有两个非常相似的数组,一个显示另一个不显示
我有一个对象,其中有两个嵌入的对象数组,在我看来几乎相同,如我的数据库中所示: 但当我尝试访问前端javascript中的一个数组时,它显然是空的。另一个不是,如我将其记录到浏览器控制台时所示: 数组中的对象几乎完全相同。我担心的是,当我将一个新对象推送到“涉众”数组时,异步函数在页面再次加载之前没有完成,但在返回响应之前,我在该函数中使用了async/waitJavascript 一个对象有两个非常相似的数组,一个显示另一个不显示,javascript,Javascript,我有一个对象,其中有两个嵌入的对象数组,在我看来几乎相同,如我的数据库中所示: 但当我尝试访问前端javascript中的一个数组时,它显然是空的。另一个不是,如我将其记录到浏览器控制台时所示: 数组中的对象几乎完全相同。我担心的是,当我将一个新对象推送到“涉众”数组时,异步函数在页面再次加载之前没有完成,但在返回响应之前,我在该函数中使用了async/wait addStakeholder = async (req, res, next) => { ... project.stake
addStakeholder = async (req, res, next) => {
...
project.stakeholders.push(stakeholder)
await project.save()
res.status(200).json({
status: 'success',
project: project
有人能告诉我我在这里可能做错了什么吗
编辑:抱歉,我将尝试添加更多细节,因此在表单提交中有以下内容
createStakeholderForm.addEventListener('submit', async (e) => {
// getting properties etc, this all works
await createStakeholder({ stakeholders, project })
window.setTimeout(() => {
location.reload()
}, 1000)
})
将其传递给此axios函数
createStakeholder = async (data) => {
try {
const url = `http://127.0.0.1:3000/stakeholder`
const res = await axios({
method: 'POST',
url: url,
data: data
})
if (res.data.status === 'success') {
showAlert('success', `Stakeholder created`)
}
} catch (err) {
showAlert('error', err.response.data.message)
}
}
并将帖子路由到此功能
addStakeholder = async (req, res, next) => {
const query = { _id: req.body.project }
const project = await Project.findById(query)
const stakeholder = req.body.stakeholders
project.stakeholders.push(stakeholder)
await project.save()
res.status(200).json({
status: 'success',
data: {
data: project
}
})
})虽然代码中的错误并不明显。幸运的是,调试路径是
开始追踪电线。听起来好像有些东西正确地保存在数据库中,但没有到达前端。我会在查询数据库的呼叫站点的后端登录您的代码。确认你的期望。假设这样做有效,在下游添加另一个console.log,继续这样做,直到涉众数据消失。本练习将向您展示在代码中干系人被丢弃的位置。而您的代码中的错误并不明显。幸运的是,调试路径是
开始追踪电线。听起来好像有些东西正确地保存在数据库中,但没有到达前端。我会在查询数据库的呼叫站点的后端登录您的代码。确认你的期望。假设这样做有效,在下游添加另一个console.log,继续这样做,直到涉众数据消失。本练习将向您展示在代码中,干系人被丢弃的位置。我认为这不是问题所在。。。。请添加整个代码,以便我们能够解决问题。@Abhisartripath抱歉,我不确定我还可以添加哪些代码会有所帮助-函数正确添加到数组中,我的js然后等待该函数,并在延迟1秒后重新加载页面。如果问题是推送延迟,我们可以选择使用
project.涉众=project.涉众.concat([涉众])
,这比.push
快得多。推送的速度不可能是.push的速度。推送是同步的,而且速度非常快。我认为这不是问题所在。。。。请添加整个代码,以便我们能够解决问题。@Abhisartripath抱歉,我不确定我还可以添加哪些代码会有所帮助-函数正确添加到数组中,我的js然后等待该函数,并在延迟1秒后重新加载页面。如果问题是推送延迟,我们可以选择使用project.涉众=project.涉众.concat([涉众])
,这比.push
快得多。推送的速度不可能是.push的速度。推送是同步的,速度极快。