Búsqueda de sitios web

angular - ERROR Alias inesperado de 'this' a variable local @typescript-eslint/no-this-alias


¿Cómo soluciono este error de TypeScript?

Estoy obteniendo un error en la línea siguiente.

const self=this;

Estoy recibiendo un error en el terminal como:

error Alias inesperado de 'this' a una variable local @typescript-eslint/no-this-alias

Por favor, encuentre el código a continuación:

notifyOwner(req, metadata, callback) {
    const currentUserId = req.session.identity.individual.userName;
    const docId = metadata.docId;

    let message = this.templates.selfRemoval;
    const self = this;

    const targetUserId = metadata.ownerId;
    const paperTitle = metadata.title.replace(/<(.|\n)*?>/g, '');
    const nonOwnerRole = metadata.userRole;

    message = message.replace(/\[CollaboratorName\]/g, req.session.identity.individual.firstName + ' ' + req.session.identity.individual.lastName);
    message = message.replace(/\[NonOwnerRole\]/g, (nonOwnerRole === 'author') ? 'collaborator' : 'reviewer');
    message = message.replace(/\[PaperTitle\]/g, paperTitle);

    const eventData = {
      message: message,
      objectType: 'manuscript',
      objectId: docId
    };

    self.createEvent(currentUserId, targetUserId, eventData, (err, result) => {
      if (result) {
        const userActivityService = new UserActivityService();
        userActivityService.broadcastRefreshUserEvents(eventData['objectId'], { userId: targetUserId });
      }

      callback(null, JSON.stringify({ notified: true }));
    });
  }

Respuesta #1

Esta advertencia generalmente existe para hacer que los escritores de scripts utilicen funciones de flecha en lugar de declarar nuevas variables. Por ejemplo, esto:

let that = this;
someFn(function(arg) {
  return that.foo = arg;
});

se puede simplificar a

someFn(arg => this.foo = arg);

Pero en tu caso, ni siquiera estás usando el valor reasignado en ninguna otra función, solo lo estás referenciando directamente más abajo en el código, lo que hace que la asignación sea completamente superflua.

Solo quita tu

const self = this;

y reemplazar

self.createEvent(

con

this.createEvent(

Artículos relacionados