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