2017-05-23 11 views
-1

Ich habe eine Datei einige Sequenzen zu suchen, aber wenn ich die Funktion aufrufen, erhalte ich die Fehlermeldung:Fehler ist keine Funktion

TypeError: utilitiesFunctions.secuencia is not a function

Meine Funktion:

const utilitiesFunctions = {}; 
const counterModel = require('./database/models/parameters/counter'); 

utilitiesFunctions.sequencia = (modelo, id, callback) => { 
    console.log('Entra Funcion Sequencia'); 
    var codigo; 
    counterModel.findByIdAndUpdate({ 
    _id: id 
    }, { 
    $inc: { 
     seq: 1 
    } 
    }, function(error, sequencia) { 
    if (error) { 
     callback(error, sequencia); 
    } else { 
     var codigo = sequencia.seq; 
     if (codigo < 10) { 
     var codigo = sequencia.suffix + '0' + sequencia.seq; 
     } else { 
     var codigo = sequencia.suffix + sequencia.seq; 
     } 
     callback(error, codigo); 
    } 
    }); 

} 

module.exports = utilitiesFunctions; 

Ich rufe die Funktion in der Pre speichern Haken bei einigen Modellen:

const mongoose = require('mongoose'); 
const Schema = mongoose.Schema; 
const utilitiesFunctions = require('./../../../utilities.js'); 

const wareHouseSchema = Schema({ 
    code: { 
    type: String, 
    //required: [true,'Codigo no puede estar vacio'] 
    }, 
    name: { 
    type: String, 
    required: [true, 'Nombre no puede estar vacio'] 
    }, 
    description: { 
    type: String 
    }, 
    isVirtual: { 
    type: Boolean, 
    default: false 
    } 
}, {timestamps: true}); 

wareHouseSchema.pre('save', function(next) { 
    var doc = this; 
    utilitiesFunctions.secuencia('warehouses', 'warehouseCode', (err, sequencia) => { 
    if (err) { 
     doc.code = 'D0'; 
    } else { 
     var seq = sequencia.codigo; 
     console.log('Secuencia: ' + seq); 
     doc.code = seq; 
    } 
    }); 
    next(); 
}); 

const wareHouse = module.exports = mongoose.model('warehouses', wareHouseSchema); 

Warum ich diesen Fehler? Oder wie nennt man diese Art von Funktionen?

Vielen Dank im Voraus

+0

Möglicherweise ein Browser-Problem, weiß ich die '() => {}' Funktion Deklaration Syntax funktioniert nicht in Versionen von IE älter als Edge –

Antwort

0

Spell es richtig, mit einem ‚q‘ eher als ein ‚c‘: sequencia ist, wie es definiert ist, aber du bist secuencia aufrufen.

+0

Sie haben Recht, aber ich bekomme einen leeren Wert – joselegit

+0

Das ist eine separate Frage. –

Verwandte Themen