怎么获取回调函数中的值

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一下你声明的这个变量!

var a = ""; function cs(hd) { var b = 1; if(typeof hd == "function"){ hd(b); } }; function hd(b){ alert("b:" + b); a = b; alert("a:" + a); }; cs(hd);
这个a 不就在回调函数里被赋值了么?a=b=1