loadData: function (func) {
var _this = this;
var db = dbUtil.prepareDatabase();
db.transaction(function (context) {
context.executeSql('select * from tb_hetong', [],
function (ts, data) {
console.log(data);
if (data && data.rows && data.rows.length) {
for (var i = 0; i < data.rows.length; i++) {
_this.dataList.push('['+ data.rows[i].qd_date +','+ data.rows[i].status +','+ data.rows[i].ht_cash+']');
}
func(data)
}
_this.dataList = '[' + _this.dataList +']';
},
function (ts, message) {
console.log(message)
});
});
loadChart: function () {
var myChart = echarts.init(document.getElementById('main'));
var _this = this;
this.loadData(function (){
_this.data0 = '['+_this.dataList+']';
});
alert("|||||"+_this.data0);
}
怎么在loadChart中获取 _this.data0的值 data0定义的是全局
方法很多:
第一种:在回调函数外,声明一个变量,然后在回调函数中,将你想要的值赋值给这个变量!
第二种:在你的回调函数里去调用外部你下一步需要执行的function,然后将值带过去!
第三种:return
可能还有别的方法
第一种和第二种是不可能不行的。第三种容易出错!
你声明一个当前页面的顶层变量,然后在你的回调函数赋值之前打一个alert,你看下这个alert有没有弹出来,数据是多少,然后你在赋值之后,在alert一下你声明的这个变量!
这个a 不就在回调函数里被赋值了么?a=b=1