簡體   English   中英

然后Node.js不是函數

[英]Node.js then is not a function

我正在一個開源項目中,我們想使用本地json文件作為數據庫。 我們決定使用此包來處理getter和setter( https://github.com/typicode/lowdb )。

我已經復制了使用express的示例文件,但是出現以下錯誤: db.defaults(...).write(...).then is not a function

這是我的Server.js文件:

import express from 'express'
import session from 'express-session'
import bodyParser from 'body-parser'
import promisify from 'es6-promisify'
import cors from 'cors'
import low from 'lowdb'
import fileAsync from 'lowdb/lib/storages/file-async'

import defaultdb from './models/Pages'

import routes from './routes/index.js'

const app = express();

const db = low('./core/db/index.json')

app.use(cors())

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.use('/', routes);

app.set('port', process.env.PORT || 1337);

db.defaults(defaultdb).write().then(() => {
    app.listen(app.get('port'), () => {
      console.log(`Express running → PORT ${server.address().port}`);
    });
});

我確保將階段0與babel一起使用,希望它可以解決此問題。 但無濟於事。 任何幫助將是巨大的!

根據文檔, .write()僅在使用異步存儲方法時返回promise。 您要做的不只是要求fileAsyncfileAsync工作;)

const db = low('./core/db/index.json', { storage: fileAsync })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM