expressjs重启,同时将一些值推送到lowdb

问题描述 投票:0回答:1

我试图将数据推送到lowdb.write()函数,这是我的代码看起来像:

new Promise ((resolve, reject) => {
  for (var i = 0; i < accepted_file.length; i++) {
    photo_data[i].mv(`./views/images-gallery/${album_name}/${photo_data[i].name.replace(/\s/g,"-")}`, function(err) {
        if (err) { reject(err) }
    })
  }
  resolve("All Photo Uploaded Successfully!")
}).then((value) => {
  for (var i = 0; i < accepted_file.length; i++) {
    dataPhotoDB.get('photo_data[0].photos').push({
      number: "1",
      photo_name: "",
      original_file_name: accepted_file[i].replace(/\s/g,"-"),
      time_per_photo: ""
    }).write();
  }
  return value
}).catch((error) => {
  console.log(error);
})

代码绝对有效,但主要问题是当我尝试运行代码时,由于lowdb.write()函数,块.then继续执行以重新启动服务器。我不希望这个问题发生。它导致客户端收到如下响应:

enter image description here

我不知道为什么要解决这个问题,有些人请向我解释为什么会这样:'))

javascript node.js express promise callback
1个回答
0
投票

[解决了]

图书馆: - Nodemon

当我尝试将一些数组值推入lowdb文件时出现问题。当然它导致服务器重新启动,因为我正在使用nodemon进行开发,而Nodemon总是在观察每个更改的文件,然后Nodemon正在重新启动服务器。

© www.soinside.com 2019 - 2024. All rights reserved.