Доброго времени года!
Никак не пойму, почему возникает
undefined
при вызове метода из export класса.
Разбираюсь с ES6 (да, я совсем нуб в ванильном JS) и хочу сделать человеческий способ кастомной сборки своего многострадального
goodshare.js для разработчиков (с возможностью настроить всё под себя, точечно). Собираю всё с помощью Webpack.
// ./src/Providers/Vkontakte.js
export class Vkontakte {
constructor(url = document.location.href,
title = document.title,
description = document.head.querySelector("meta[name=description]").content) {
this.url = url;
this.title = title;
this.description = description;
}
getCounter() {
let xhr = new XMLHttpRequest();
let api = 'https://vk.com/share.php?act=count&index=1&url=' + encodeURIComponent(this.url);
xhr.open('GET', api, true);
xhr.send();
xhr.onreadystatechange = () => {
if (this.readyState != 4) return;
if (this.status != 200) {
console.log('Vkontakte provider error: ' + (this.status ? this.statusText : 'response not send!'));
return;
}
let obj = this.responseText.match(/^VK\.Share\.count\(\d, (\d+)\);$/)[1] / 1;
return obj;
}
}
}
Далее, в главном файле собираю всё в кучу:
// ./index.js
import { Vkontakte } from './src/providers/Vkontakte';
let vk_count = new Vkontakte().getCounter();
console.log(vk_count); // почему-то даёт undefined
Подскажите, что я делаю не так? Спасибо.