Answer the question
In order to leave comments, you need to log in
Why does fs.writeFile(nodejs) return undefined?
Hello.
The following code returns undefined when it should return either {'message','error'} or {'message','success'}
router.js
const router = express.Router();
let home = new HomeController();
router.post('/create', (req, res) => {
console.log(home.createTheme(req.body.name)); // Выводим в консоль то что возвращает контроллер
});
export default class Home {
createTheme(name) {
const theme = {
name: name,
};
jsonData.push(theme); // добовляем данные в массив
fs.writeFile(file.json, JSON.stringify(jsonData), (err) => { // тут проблема
if(err) {
return{'message': 'error'}; //Если ошибка то должно вернутся это
} else {
return {'message': 'success'}; // Если всё нормально то должно вернутся это
}
});
}
}
Answer the question
In order to leave comments, you need to log in
const router = express.Router();
let home = new HomeController();
router.post('/create', (req, res) => {
home.createTheme(req.body.name, (result)=>{
console.log(result);// Выводим в консоль то что возвращает контроллер
})
// console.log(home.createTheme(req.body.name)); // тут ни чего не будет
});
export default class Home {
createTheme(name, callback) {
const theme = {
name: name,
};
jsonData.push(theme); // добовляем данные в массив
fs.writeFile(file.json, JSON.stringify(jsonData), (err) => { // тут проблема
if(err) {
callback({'message': 'error'}); //Если ошибка то должно вернутся это
} else {
callback({'message': 'success'}); // Если всё нормально то должно вернутся это
}
});
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question