猿问

问个原生JS的调用问题卡这了,在线等急!!!!!!!!!!!!!!!!!!!

1.公司封装的JS框架,给了个存储过程我让我调用交互,现在是解析出来了不知道怎么调用....
2.这是我JS逻辑代码的模块需要调数据:

function SampleTime() {
    //时间轴
    var cirlie = document.querySelectorAll('.top');
    for (let v of cirlie) {
        v.classList.add('style');
        v.onmousemove = function() {
            this.classList.add('color');
        }
        v.onmouseout = function() {
            this.classList.remove('color');
        }
    }
    var leftBox = document.querySelectorAll('.left');
    for (let v of leftBox) {
        v.classList.add('styles');
        v.onmousemove = function() {
            this.classList.add('colors');
        }
        v.onmouseout = function() {
            this.classList.remove('colors');
        }
    }
}

3.这是我解析数据的模块已经获取到字段名和值了,就是不知道怎么往逻辑代码里面调用..

// 交互模塊
SampleTime.prototype.getSampleStateBySampleNo = function() {
    //直接调用Procedure存储过程
    var Request = Global.NewMessage();
    console.log(Request)
    Request.ProcedureName = "[proc_datalink_getsample_module]";
    Request.ParameterNames = ["SampleNo"];
    Request.ParameterDataTypes = ["int"];
    Request.ParameterValues = [1];

    //获取数据
    //PostMessage 异步需回调
    let Return = Global.SendMessage("DB_CallProcedure", Request);
    let Returns = Return.Table0;
    console.log(Returns)
    //获取字段名
    this._fieldsTitle = [];
    this._fieldsTitle = Returns._fieldsTitle;
    console.log(this._fieldsTitle[0]);
    //获取值
    this._rowsData = [];
    this._rowsData = Returns._rowsData;
    for (let datas of this._rowsData) {
        console.log(datas[3]);
    }
}

SampleTime.prototype.getSampleStateBySampleNo();
吃鸡游戏
浏览 460回答 3
3回答

富国沪深

第二段代码里有这么一句://PostMessage 异步需回调,也就是说,需要知道 Global.SendMessage() 的回调是怎么定义的才知道该如何去写回调。假设回调是其最后一个参数,传入回调的就是 Return,那么写法应该是像这样 Global.SendMessage("DB_CallProcedure", Request, Return => { const Returns = Return.Table0; // .... }); 看你的代码,不像是异步。 非异步的情况下,解析好的数据直接回返就好。比如 return this._rowsData,当然由于这个值赋给了属性,所以也可以在其它地方直接调用(_xxx 一般表示私有属性,所以应该是在其它方法中调用,方法通过 prototype.xxxx = function() {} 定义) 但是在异步情况下,就需要通过回调,或者 Promise 等方式来向后续步骤传递数据,关于这个可以参考阅读一下这篇博客。具体到这个问题,可以这样定义 SampleTime.prototype.getSampleStateBySampleNo = function(callback) { // ..... if (typeof callback === "function") { callback(this._rowData); } }

UYOU

prototype应该就是对象的属性,直接SampleTime.getSampleStateBySampleNo();就完事了
随时随地看视频慕课网APP

相关分类

Java
我要回答