javascript - 如何在angularjs中读取数组对象

标签 javascript angularjs ionic-framework

我得到了要读取的数组对象:

enter image description here

这些是我的示例代码:

$scope.obj_qst_local_study_main = tbl_qst_local_study_main.all();
$scope.quesion_id_allocated = $scope.obj_qst_local_study_main[0];
$timeout(function(){
    console.log('----------all objects----------');
    console.log($scope.obj_qst_local_study_main);
    console.log('-----------one object-----------');
    console.log($scope.quesion_id_allocated);
},200);

当我使用时:

$scope.obj_qst_local_study_main[0];

结果是:未定义

<小时/>

我的 angularjs 服务:

.service('tbl_qst_local_study_main', function($cordovaSQLite, DATABASE_LOCAL_NAME){
            var self = this;
            var qst_local_study_main_array = [];
            self.all = function() {
              var db = $cordovaSQLite.openDB({name: DATABASE_LOCAL_NAME,location:'default'});
                    $cordovaSQLite.execute(db, "SELECT * FROM qst_local_study_main")
                            .then(function (res) {
                                console.log('--------Successfully read from qst_local_study_main---------');
                                for (var i = 0; i < res.rows.length; i++) {
                                    qst_local_study_main_array.push(res.rows.item(i));
                                }
                            },
                                function (err) {
                                    console.log(err);
                                });
                    return qst_local_study_main_array;
            };
        })

最佳答案

您的服务应该返回一个Promise。这是一个非常常见的情况,因为(请不要生气)人们不理解 Promise 是如何工作的。

请在互联网上搜索一篇文章,例如:https://developers.google.com/web/fundamentals/getting-started/primers/promises

tl;dr 您的服务应该返回一个Promise。在您的情况下 $cordovaSQLite.execute 然后您可以通过链接 then 来正确处理响应。您也不需要超时。在这里使用超时非常糟糕!

tbl_qst_local_study_main.all()
  .then(function(result) {
    console.log(result);
  })

关于javascript - 如何在angularjs中读取数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40212600/

相关文章:

javascript - Karma - 未知提供商错误 : menuFactoryProvider <- menuFactory

javascript - 使用 AngularJS 生成新字段

ionic-framework - 如何使用 Ionic FileOpener 和 Capacitor 从 Blob 打开 PDF 文件

azure - Cordova/Ionic 框架与 ADAL 配合使用

jquery - AngularJS 在 ng-click 上更改类名的方法

ios - Ionic App : Received memory warning. 来自调试器的消息:由于内存问题而终止

javascript - CasperJS 的替代品,用于 Cucumber.js

javascript - 我如何从java中的javascript脚本中提取对象

javascript - php - webscraping - 单击 ajax 调用然后抓取页面(可以在 python 中完成)

javascript - 如何在第一次更新 'X' 分钟后更改字段值