"-6ren"> "-我是 TypeScript 的新手。 我创建了一个包含一些私有(private)字段的类。当我尝试在类方法中的匿名回调函数中为其中一个字段赋值时,出现错误 ... (TS) Cannot Find t-6ren">
gpt4 book ai didi

javascript - typescript "Cannot find name "

转载 作者:行者123 更新时间:2023-11-30 11:12:05 25 4
gpt4 key购买 nike

我是 TypeScript 的新手。

我创建了一个包含一些私有(private)字段的类。当我尝试在类方法中的匿名回调函数中为其中一个字段赋值时,出现错误 ...

(TS) Cannot Find the name '_tokens'

我怀疑存在范围问题,但根据我对 JavaScript 的理解,这应该不是问题。我不确定如何修复它。有任何想法吗?

请参阅 .. "populateTokens()"错误方法。

class SingleSignOn {

private _appTokensURL: string = "/api/IFSessionCache/Auth/";
private _tokens: string[];

/**
* Initialize an instance of the SingleSignOn class to manage the permissions for the
* application associated with the application.
*/
constructor() {

this.populateTokens();
};


/**
* Gets a list of permissions tokens associated with the currently logged on user for
* the application.
*/
private getApplicationTokens(): Q.IPromise<{}> {

return Unique.AJAX.Get(this._appTokensURL, null, ENUMS.AjaxContentTypes.JSON);
};


private populateTokens () {

this.getApplicationTokens().then(
function (data) {
_tokens = <string[]>data; // (TS) Cannot find name "_tokens"
});
};
};

最佳答案

你使用了错误的语法:

this.getApplicationTokens().then(
(data) => {
this._tokens = <string[]>data; // note: turned into an arrow function and added the `this` keyword
});

注意如果您继续使用function() ... 语法,this 关键字将指向类实例,但给 callee

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

问候

关于javascript - typescript "Cannot find name <fieldname>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53283191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com