A
A
Alexander Sharomet2018-07-02 08:59:43
JavaScript
Alexander Sharomet, 2018-07-02 08:59:43

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)); // Выводим в консоль то что возвращает контроллер
});

HomeController.js
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'}; // Если всё нормально то должно вернутся это
            }
        });
    }
}

Why is undefined returned. How can this be fixed. Thank you.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Alexey Shashenkov, 2018-07-02
@sharomet

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'}); // Если всё нормально то должно вернутся это
            }
        });
    }
}

R
RidgeA, 2018-07-02
@RidgeA

Where should it return from the callback function?

D
Dmitry Arushanov, 2018-07-02
@daruwanov

...
return fs.writeFile .... 
...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question