gpt4 book ai didi

javascript - 类内部的函数未定义

转载 作者:行者123 更新时间:2023-12-01 00:31:25 25 4
gpt4 key购买 nike

我有一个类代表数据库中的一个项目。

class Item{

constructor(serialNumber) {
this.serialNumber = serialNumber;
}

/**
* Queries database, gets the item and all of it's information
* @returns query result
*/
async getItem() {

//Query database
var [rows, fields] = await db.execute('query...', [this.serialNumber]);


//we have no results, bad entry or is a sales order
if (rows.length < 1) {
return rows;
}

//checking item
var check = await _checkIbutton(); //is undefined

...

}

/**
* Checks if the item is also an iButton
* @returns query results if they exist
*/
async _checkIbutton() {


var [rows, fields] = await db.execute('Query...', [this.serialNumber]);

if (rows.length < 1) {
return { status: false };
}
return { status: true, data: rows };
}

}

函数checkIbutton()检查该项目是否是特定类型的项目。当我在 getItem() 中调用该函数时,出现错误:ReferenceError:_checkIbutton 未定义。

_checkIbutton 在类的范围内,getItem 也在类的范围内。为什么会出现这个错误?

最佳答案

class Test {

constructor() {
this.func1();
}

async func1() {

console.log("asc");
await this.func2();
}

async func2() {
console.log("22asc");
}
}
const test = new Test();

必须使用this关键字。“this”指的是调用者对象(父对象)

关于javascript - 类内部的函数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493407/

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