Проблема:
Я создал цепной код. В одной функции этого кода я вызвал другую функцию с тем же цепным кодом. Вот так выглядит этот код.
async nthUsersLands(stub, args) {
if (args.length != 1) {
throw new Error(
"Incorrect number of arguments. Expecting NIC ex: 942990014V"
);
}
let nic = args[0];
let queryString = {};
queryString.selector = {};
queryString.selector.docType = "land";
queryString.selector.user = nic;
let method = thisClass["getQueryResultForQueryString"];
let queryResults = await method(
stub,
JSON.stringify(queryString),
thisClass
);
// let queryResults = await methods.getQueryResultForQueryString(stub,JSON.stringify(queryString))
console.log(queryResults.toString());
return queryResults;
}
async getQueryResultForQueryString(stub, queryString, thisClass) {
console.info("- getQueryResultForQueryString queryString:\n" + queryString);
let resultsIterator = await stub.getQueryResult(queryString);
let method = thisClass["getAllResults"];
let results = await method(resultsIterator, false);
// let results = await methods.getAllResults(resultsIterator,false)
return Buffer.from(JSON.stringify(results));
}
async getAllResults(iterator, isHistory) {
let allResults = [];
while (true) {
let res = await iterator.next();
if (res.value && res.value.value.toString()) {
let jsonRes = {};
console.log(res.value.value.toString('utf8'));
if (isHistory && isHistory === true) {
jsonRes.TxId = res.value.tx_id;
jsonRes.Timestamp = res.value.timestamp;
jsonRes.IsDelete = res.value.is_delete.toString();
try {
jsonRes.Value = JSON.parse(res.value.value.toString('utf8'));
} catch (err) {
console.log(err);
jsonRes.Value = res.value.value.toString('utf8');
}
} else {
jsonRes.Key = res.value.key;
try {
jsonRes.Record = JSON.parse(res.value.value.toString('utf8'));
} catch (err) {
console.log(err);
jsonRes.Record = res.value.value.toString('utf8');
}
}
allResults.push(jsonRes);
}
if (res.done) {
console.log('end of data');
await iterator.close();
console.info(allResults);
return allResults;
}
}
}
Но когда я вызываю этот getNthUsersLands, я получаю такую ошибку.
TypeError: Невозможно прочитать свойство 'getQueryResultForQueryString' из
не определен
Я много пытался найти решение, используя три вопроса относительно этой проблемы при переполнении стека, но я не смог решить эту проблему, используя их. Может кто-нибудь помочь мне с этой проблемой? Спасибо!