我正在学习node.js
我有一个这样的课程 - >
const client = require('prom-client');
class PrometheusController {
constructor () {
let counter = new client.Counter({ name: 'http_total_requests', namespace:"test", help: 'test' });
}
get (fn) {
this.counter.inc(); // Inc with 1
}
节点js抱怨计数器未定义。
我尝试保存this
变量作为此处推荐的帖子,但也无法访问 - javascript class variable scope in callback function
如何访问构造函数变量?
答案 0 :(得分:5)
你做不到。在constructor
内声明的变量只能从构造函数中访问。
您可能想要做的是:
constructor() {
this.counter = new client.Counter(...);
}
请记住,ES6类只是构造函数的语法糖,所以上面的代码对应于这个ES5代码:
function PrometheusController() {
this.counter = new client.Counter(...);
}
可以像:
一样使用let controller = new PrometheusController();
// controller.counter can be used here