Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点/快速在重定向前暂停_Javascript_Node.js_Express - Fatal编程技术网

Javascript 节点/快速在重定向前暂停

Javascript 节点/快速在重定向前暂停,javascript,node.js,express,Javascript,Node.js,Express,我使用此代码从数组中删除一个项。/list站点只是在数组中循环并打印每个项目,但是在执行此代码之后,我必须在显示更改之前刷新页面。是否有其他方法重定向到我的页面或在res.redirect(“/list”)之前添加一个小暂停;这样我的json文件就有足够的时间更新了?在重定向之前会更新json(因为您使用的是Sync版本的writeFile)。您确定这就是问题所在吗?是否检查了fetchJobs()函数?正如@nadavvadan指出的,重定向发生在写入文件之后。是的,我的fetchJobs()

我使用此代码从数组中删除一个项。/list站点只是在数组中循环并打印每个项目,但是在执行此代码之后,我必须在显示更改之前刷新页面。是否有其他方法重定向到我的页面或在res.redirect(“/list”)之前添加一个小暂停;这样我的json文件就有足够的时间更新了?

在重定向之前会更新json(因为您使用的是
Sync
版本的
writeFile
)。您确定这就是问题所在吗?是否检查了
fetchJobs()
函数?正如@nadavvadan指出的,重定向发生在写入文件之后。是的,我的fetchJobs()函数只是解析文件:
return JSON.parse(fs.readFileSync(“jobs.JSON”))
jobs.splice(req.body.prodId,1)
是否
prodId
correct?,splice将索引带入数组,因此
prodId
似乎并不正确。请使用writeFile的异步方法,并在回调中执行重定向。
app.post("/remove", function(req,res){
  let jobs = fetchJobs();
  jobs.splice(req.body.prodId,1);
  fs.writeFileSync("jobs.json", JSON.stringify(jobs));
    //some sort of pause here
  res.redirect("/list");
})