Доступ к свойству класса в машинописи - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть класс машинописного текста, который построен следующим образом:

export default class myClass{

myns: any;

async initializing() {
…
this.myns = na.map(function (item) {
  return item["name"];
});

// here we have value 
console.log(this.myns);

}


search(test, input) {

input = input || "";
return new Promise(function (resolve) {
    let fuz= fuzzy.filter(input, this.myns);  //here I want to access myns but here it comes undefined in debug
    resolve(
      fuz.map(function (el) {
        return el.original;
      })
    );
});



}

}

Я хочу получить доступ к myns внутри функции search (в функции search нет ответа, но внутри init есть данные) search как мне это сделать ?

не просто myns не определено this не определено также

1 Ответ

1 голос
/ 23 апреля 2020

Попробуйте сделать (resolve) => { вместо function (resolve) {, чтобы он связал это с обратным вызовом

РЕДАКТИРОВАТЬ:

Запуск этого кода работал для меня:

class myClass {
  myns: any;

  async initializing() {
    this.myns = [{ name: 'test1' }, { name: 'test2' }].map(function (item) {
      return item["name"];
    });

    console.log(this.myns);
  }

  search(test, input) {
    input = input || "";

    return new Promise((resolve) => {
      console.log('test');
      console.log(this.myns);

      resolve();
    });
  }
}

const test = new myClass();

test.initializing();
test.search('lala', 'lala2');

Как и ожидалось, результат был:

[ 'test1', 'test2' ]
test
[ 'test1', 'test2' ]

Что это за нечеткая библиотека, которую вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...