首页 > 解决方案 > 在 node.js 编写的超级账本结构中调用 self 函数

问题描述

在超级账本结构中,当我通过 node.js 编写链代码时。我如何调用 anthor 函数invoke

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) {}
    }

我想调用func2in func1

标签: hyperledger-fabric

解决方案


V1:基于官方的 nodeJS fabcar 链代码示例(链接),这应该可以工作:

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");
    }
}

推荐阅读