我创建了一个函数,该函数具有将在其他文件中使用的原型。
function.js
function Graph() {
//Constructor
this.Client = null;
}
module.exports = Graph;
Graph.prototype.Init = async function Init() {
....
tokenResult = await GetToken();
};
function GetToken() {
...
};
我将在文件外部使用GetToken方法。所以我添加了GetToken函数作为原型
function Graph() {
//Constructor
this.Client = null;
}
module.exports = Graph;
Graph.prototype.Init = async function Init() {
....
tokenResult = await GetToken(); <== Error here
};
Graph.prototype.GetToken = function GetToken() {
...
};
运行程序时出现此错误:
GetToken is not defined
我也知道如何仅导出令牌的值而不导出函数(以便我可以使用相同的令牌)
答案 0 :(得分:1)
对于像Graph.prototype.GetToken = function GetToken()
这样的函数表达式,名称GetToken
仅在函数主体中是局部的。因此,要以所需的方式使用它,您需要引用this.GetToken()
才能从原型中获取功能:
function Graph() {
//Constructor
this.Client = null;
}
Graph.prototype.Init = async function Init() {
tokenResult = await this.GetToken();
console.log(tokenResult)
};
Graph.prototype.GetToken = function GetToken() {
return Promise.resolve("GetToken Called")
};
g = new Graph()
g.Init()