我正在为项目写一个api,并且用这个函数得到了一个罕见的错误
exports.getSummonerId = function(sum, callback) {
var summoners = {};
var summoner = sum.replace(/\s+/g, '');
request("https://na.api.pvp.net/api/lol/"+region+"/v1.4/summoner/by-name/"+summoner+"?api_key="+api_key, function(error, response, body) {
summoners[summoner] = JSON.parse(body);
callback(summoners[summoner][summoner].id);
});
}
电话是:
var lol = require('./apiwrapper.js');
lol.getSummonerId(function(data) {
console.log(data);
});
我明白了:
lol-test/apiwrapper.js:11
var summoner = sum.replace(/\s+/g, '');
^
TypeError: Object function (data) {
console.log(data);
} has no method 'replace'
如果我在没有导出的情况下运行代码,直接从apiwrapper.js运行正常。
有什么想法吗?
提前致谢。
答案 0 :(得分:2)
你的功能有2个参数,召唤者名称和回调函数。试试这个:
lol.getSummonerId("player", function(data) {
console.log(data);
});