Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Tenho uma dúvida sobre console.log()

Então tenho o seguinte código :

const UserHelper = require('./user.helper');
const User = require('../../db/schema/user');
const moment = require('moment');


class UserUpdate {

    constructor(access_token, update_type) {
        this.update_type = update_type;
        this.access_token = access_token;
    }

    checkAccessToken() {
        this.data = UserHelper
            .initUser(this.access_token)
            .catch(() => UserHelper
                .disableAccessToken(this.access_token)
                .then(() => Promise.reject({error: 'Invalid access_token, medias deleted.'}))
            );

        return this;
    }

    startUpdatePipeLine() {
        this.data = this.data
            .then(UserHelper.getMedias)
            .then(UserHelper.generateMetaIndicators)
            .then(UserHelper.checkSelectedMedias)
            .then(UserHelper.checkCategory);
        return this;
    }
//CONSOLE.LOG AQUI!!!!

    saveUser() {
        return this.data.then(user => {
            switch (this.update_type) {
                case 'HISTORY':
                    return UserHelper.updateUserHistory(user);

                case 'USER':
                    return UserHelper.updateUser(user);

                default:
                    throw new Error('User update type required.')
            }
        })
    }
}


function UpdateUser (access_token, update_type) {
    let user_to_update = new UserUpdate(access_token, update_type);

    return user_to_update
        .checkAccessToken()
        .startUpdatePipeLine()
        .saveUser();
}

function UpdateUserHistory () {
    let success = [];
    let errors = [];

    return User
        .find({}, 'access_token')
        .cursor()
        .eachAsync(user => {
            return UpdateUser(user.access_token, 'HISTORY')
                .then(user => success.push(user.username))
                .catch(error => Promise.resolve(errors.push({user: user.username, error})))
        })
        .then(() => ({errors, success}))
}

module.exports = {};
module.exports.UpdateUser = UpdateUser;
module.exports.UpdateUserHistory = UpdateUserHistory;

E eu queria colocar um console.log logo naquela marcação para saber o que está passando no this, Como eu faço? eu trabalho com rotas pelo express.

3 respostas
solução!

Olá, Iury.

Coloque o console.log(this). Só não entendi porquie você quer saber o this nesse ponto?

startUpdatePipeLine() {
        this.data = this.data
            .then(UserHelper.getMedias)
            .then(UserHelper.generateMetaIndicators)
            .then(UserHelper.checkSelectedMedias)
            .then(UserHelper.checkCategory);
        return this;
    }
//CONSOLE.LOG AQUI!!!!
console.log(this)

    saveUser() {
        return this.data.then(user => {
            switch (this.update_type) {

é porque tenho q usar essa informação em outro lugar, ai preciso saber o que está passando bem direitinho.

Justo. Com o console.log naquele lugar funcionou?