0
Я использую узел, Бабель, Экспресс и у меня есть этот кодES6 Класс возврата метод не определен
import express from 'express';
import httpinvoke from 'httpinvoke';
export class lolApi{
constructor(summoner, region) {
this.summoner = summoner;
this.region = region;
this.methods = {
"currentGame": `/observer-mode/rest/consumer/getSpectatorGameInfo/${this.region}/`,
"matchList": `/api/lol/${this.region}/v2.2/matchlist/by-summoner/`,
"summonerName": `/api/lol/${this.region}/v1.4/summoner/by-name/`
};
this.domain = `https://${this.region}.api.pvp.net`;
this.apiKey = "xxxxxxxxxx";
}
getSummonerId() {
let url = `${this.domain}${this.methods.summonerName}${this.summoner}?api_key=${this.apiKey}`;
httpinvoke(url, 'GET').then((res) => {
this.data = JSON.parse(res.body);
return this.data;
}, (err) => {
console.log(err);
});
}
}
export default lolApi;
Но, когда инициализировать класс йота
let lolapi = new lolApi(summoner, region);
let lolData = lolapi.getSummonerId();
console.log(lolData);
Метод getSummonerId
возвращает неопределенное значение, любой идея?
функцию getSummonerId в ничего не возвращает. –
Пожалуйста, посмотрите, как работают обещания: http://stackoverflow.com/questions/22536385/setting-a-variable-to-get-return-from-call-back-function-using-promise – nils
Это потому, что оно ничего не возвращает. он просто выполняет асинхронный вызов. –