Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DealStat {
- constructor(plan, fact, percentage) {
- this.plan = plan;
- this.fact = fact;
- this.percentage = percentage;
- }
- }
- class RateStat {
- constructor(likes, dislikes) {
- this.like_count = likes;
- this.dislike_count = dislikes;
- }
- }
- class TaskStat {
- constructor(opened, closed, failed) {
- this.opened = opened;
- this.closed = closed;
- this.failed = failed;
- }
- }
- class StarStat {
- constructor(number, deals, rate, tasks) {
- this.number = number;
- this.deals = new DealStat(deals.plan, deals.fact, deals.percentage);
- this.rates = new RateStat(rate.likes, rate.dislikes);
- this.tasks = new TaskStat(tasks.opened, tasks.closed, tasks.failed);
- }
- }
- function get(url) {
- return new Promise(function (resolve, reject) {
- var req = new XMLHttpRequest();
- req.open('GET', url);
- req.onload = function () {
- if (req.status == 200) {
- resolve(req.response);
- }
- else {
- reject(Error(req.statusText));
- }
- };
- req.onerror = function () {
- reject(Error("Network Error"));
- };
- req.send();
- });
- }
- get('http://127.0.0.1:8080/stat').then(function (response) {
- let res = JSON.parse(response);
- let starStats = [];
- for (let starNum in res) {
- if (res.hasOwnProperty(starNum)){
- let starData = res[starNum];
- let starStat = new StarStat(starNum, starData.deals, starData.rate, starData.tasks);
- starStats.push(starStat)
- }
- }
- console.log(starStats);
- }, function (error) {
- console.error("Failed!", error);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement