Как вызвать функцию из вложенной функции в машинописи?

6

Я хочу вызвать функцию func2 из функции образца функции func1. Может кто-то предложить способ достичь этого?

class A
{
   public func1()
   {
     let sample = function()
                  {
                    //call func2... but how?
                  }
   }
   public func2()
   {

   }
 }

Спасибо в Advance

  • 1
    this.func2() ?
  • 1
    @Benjamin: Бенджамин: Зависит от того, что this относится к внутренней sample (то есть, как называется sample ).
Показать ещё 3 комментария

1 ответ

13
Лучший ответ

Используйте ключевое слово this с обозначением функции arrow следующим образом:

class A
{
   public func1()
   {
      let sample = () => 
      {
         this.func2();
      }
   }
   public func2()
   {

   }
 }

Трюк использует функцию arrow, потому что функция arrow изменяет определение this как экземпляр class вместо текущей области. Вы можете прочитать больше здесь

  • 1
    Это зависит от того, что this относится к внутренней sample .
  • 0
    nop .... область действия 'this' есть только в функции func1 ..., а не в функции sample (nested).
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню