只是一个基本问题。
以下代码成功返回任务:
const mongojs = require('mongojs');
const db = mongojs('localhost:27017/tasks', ['tasks']);
router.get('/tasks', function(req, res, next) {
db.tasks.find(function(err, tasks) {
if (err) {
res.send(err);
}
if (tasks) {
res.json(tasks);
}
});
});
但是,当我拆分它并将其称为回调时,它会返回:引用:任务未定义。
Repository.js:
const mongojs = require('mongojs');
const db = mongojs('localhost:27017/tasks', ['tasks']);
module.exports = {
ReadAllTasks(callback) {
db.tasks.find(function(err, tasks) {
if (err) {
callback(err, null);
}
callback(null, tasks);
});
}
}
Route.js:
const express = require('express');
const router = express.Router();
const repository = require('./repository');
router.get('/tasks', function(req, res, next) {
repository.ReadAllTasks(function(err, tasks) {
if (err) {
res.send(err);
}
if (tasks) {
res.json(tasks);
}
})
});
module.exports = router;
有人知道修理它吗?
答案 0 :(得分:0)
试试这个,因为你没有返回有效的对象。
module.exports = {
ReadAllTasks: (callback)=>{
db.tasks.find(function(err, tasks) {
if (err) {
callback(err, null);
}
callback(null, tasks);
});
}
}