在超级账本结构中,当我通过node.js编写chaincode时。我如何通过invoke
调用anthor函数?
const shim = require('fabric-shim');
var Chaincode = class {
async Init(stub) {}
async Invoke(stub) {}
async func1(stub) {
// how to invoke `func2` here?
}
async func2(stub) {}
}
我想在func2
中调用func1
。
答案 0 :(得分:0)
V1 :基于官方的nodeJS fabcar链码示例(link),这应该可以工作:
var Chaincode = class {
async Invoke(){
let method = this["func1"];
await method(stub,this);
//...
}
async func1(stub,methods) {
await methods.func2(stub);
//your code
}
async func2(stub) {
//your code
}
}
V2 :普通Javascript类
var Chaincode = class{
constructor(){
}
async func1(){
console.log("FUNC 1");
this.func2();
}
async func2(){
console.log("FUNC 2");
}
}
答案 1 :(得分:0)
我知道问这个问题已经很久了,但是对于那些面临相同问题的人,这就是我的解决方法:
var Chaincode = class {
constructor() {
this.func1 = this.func1.bind(this)
}
async Init(stub) {}
async Invoke(stub) {}
async func1(stub) {
// how to invoke `func2` here?
this.func2(stub)
}
async func2(stub) {}
}