1

Тема: Не можу вернути значення із асинхронної функції в node.js

є такий код

UserSchema.virtual('avatar').get(function(){
    var userId = this.id;
    var pathAva = '/img/default-avatar.png';
    fs.stat( path.join( __dirname, '../../public/uploads/avatars/' + userId + '.jpg' ), function(err){
        if(err == null)
        {
            pathAva = '/uploads/avatars/' + userId + '.jpg';
        }
    });
    return pathAva;
});

він добавляє обєкту моделі user віртуальну змінну avatar в якій записано шлях до аватарки користувача.
але так як fs.stat виконується довше завжди вертається '/img/default-avatar.png'. Як зробити так щоб виконувалась умова на існування аватарки користувача?

2 Востаннє редагувалося koala (26.09.2016 10:33:09)

Re: Не можу вернути значення із асинхронної функції в node.js

Зробіть виклик синхронним, очевидно.

Подякували: bodya-0028, 221VOLT, leofun013