0

我正在使用 web sql 作为数据库创建移动应用程序。我正在尝试从一个函数返回数组,如下所示

getCheckedItems:function(type,itemId){
                var optArr=[];
                var sql ="select optionid as opt from MyTable where familymemberid=" + this.memberId+ " and questionid="+itemId
                    MyDb.runQuery(sql, function(optionrecords) {
                        if(optionrecords.length>0)
                        {
                            if(type==2)
                            {
                              var optionId=optionrecords[0].opt;
                              optArr.push(optionId);
                                alert(optArr);
                              //  alert(optionId+"Hello");
                            }

                            else
                            {
                              for(var i=0;i<optionrecords.length;i++)
                              {
                              optArr.push(optionrecords[i].opt);
                              } 
                            }
                        }

                        }); 
       alert(optArr);
        return optArr;
    }

但是这里的第二个警报,即optArr在事务中的警报之前显示。如何在返回数组之前完成等待数据库事务。

4

1 回答 1

0

我不是 web sql 专家,但我猜你;在行尾缺少 a ,var sql = ...这可能会导致一些意外行为。

于 2014-04-05T22:57:23.860 回答