书架可以解决承诺,但不能保存到数据库中

时间:2019-04-01 22:26:57

标签: javascript node.js orm knex.js bookshelf.js

我想知道为什么使用Bookshelf.js可以解决Promises,但是实际上并没有在PostgreSQL数据库上保存任何东西

该代码已成功运行,但突然停止运行,我正在使用带有Windows实例的AWS服务器,而我尝试的一件事是重新启动服务器。

首先要注意的是,重新启动后,一些Windows环境变量消失了,我添加了Node.js,NPM和PostgreSQL命令,但是代码一直在解析而不插入。

在下面的代码示例中,我添加了具有相同模式的函数...创建Bookhelf模型的实例并保存。

 new Invoice(Info).save().then(model => {
      console.log('Saved Invoice');
      SaveAddOn(model.id, AddOnData);
      console.log('Line 546', model.id)
      SaveReceiver(model.id, ReceiverData);
      console.log('Line 548', model.id)
      SaveIssuer(model.id, IssuerData);
      console.log('Line 550', model.id)
      SaveConcepts(model.id, ConceptsData);
      console.log('Line 552', model.id)
      if(TaxesData!=null) {
        SaveTaxes(model.id, TaxesData, true);
        console.log('Line 555', model.id)
      }
      SaveRelatedInvoices(model.id, RelatedInvoicesData);
      console.log('Line 558', model.id)
      CheckStatus(model.id,re, rr, tt, id);
      console.log('Line 560', model.id)
      resolve(model.id);
    })

另一件事是,console.log()方法内的then()函数不起作用,但是外面的每个console.log()都可以起作用...

我相信这是书架上的常见问题,但我希望有人能帮助我解决该问题。

1 个答案:

答案 0 :(得分:0)

所有这些都是因为安装了另一个软件包后 node_modules 内部的某些依赖关系被破坏了。

在对解决问题感到不知所措之后,我合并了本地 node_modules 备份,并且代码重新开始工作。