[英]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。 您要做的不只是要求fileAsync
来fileAsync
工作;)
const db = low('./core/db/index.json', { storage: fileAsync })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.