Angular 2 - Usando 'this' dentro de setTimeout [duplicado]

Esta pergunta já tem uma resposta aqui:

Como acessar o `this` correto dentro de um retorno de chamada? 10 respostas

Eu tenho uma função assim na minha classe

  showMessageSuccess(){

    var that = this;
    this.messageSuccess = true;

    setTimeout(function(){
      that.messageSuccess = false;
    },3000);

  }

Como posso reescrever isso para não precisar armazenar uma referência a 'this' na variável 'that'? Se eu usar 'this' dentro do setTimeout, o bool messageSuccess não parece ser alterado / atualizado.

questionAnswers(1)

yourAnswerToTheQuestion