2017-09-04 8 views
0

私はSQLiteの最後に挿入されたIDを取得しようとしているionic/angularjsアプリを持っていますが、私が試したことは何でも試してみて、約束のオブジェクトの変数にアクセスします戻り値は未定義です。約束から項目にアクセス

私の約束は;

$ionicPlatform.ready(function() { 
     $cordovaSQLite.execute(db, query, parameters) 
     .then(function (result) { 
      q.resolve(result); 
     }, function (error) { 
      console.warn('I found an error'); 
      console.warn(error); 
      q.reject(error); 
     }); 
    }); 
    return q.promise; 

それはで呼ばれています:

self.addPicture = function(photo) { 
    var parameters = [photo.base64]; 
    console.log("INSERT INTO AssetPhotos (id, base64) VALUES (NULL,?)", parameters); 
    var id = DBA.query("INSERT INTO AssetPhotos (id, base64) VALUES (NULL,?)", parameters); 
    return id; 
    } 

そして、実際のコードで:

Assets.add($scope.addasset); 
    var i = 0; 
    for (pic in $scope.photos) { 
     console.log(Assets.addPicture($scope.photos[i])); 
     i++; 
    } 

しかし、それが返されます。

Promise {$$state: Object} 
$$state: Object 
status: 1 
value: Object 
insertId: 20 
rows: Object 
rowsAffected: 1 
__proto__: Object 
__proto__: Object 
__proto__: Promise 

(または簡単にそれを見るために)

私が達成しようとしている何

enter image description here

さはconsole.log(Assets.addPicture($ scope.photos [i]の))だけinsertIdを返すこと。私は右に見えている以下にコードを更新した:私は.value.InsertIdと.InsertIdが、私はちょうどそれを

Editを使用するために戻ってちょうどInsertIdを得るように見えることはできませんforwhatever理由を追加しようとしましたあなたが.thenの内部を除く)(約束の戻り事をCONSOLE.LOGすることはできません

$scope.addAsset = function(){ 
    Assets.add($scope.addasset); 
    var i = 0; 
    for (pic in $scope.photos) { 
     Assets.addPicture($scope.photos[i]) 
     .then(res => console.log(res.insertId)) 
     i++; 
    } 
    } 

答えて

1

引数リストの後に行方不明): キャッチされないでSyntaxError:しかし、私はエラーを取得します。あなたのコードを理解しているので、これはうまくいくかもしれません。

Assets.add($scope.addasset); 
var i = 0; 
for (pic in $scope.photos) { 
    Assets 
    .addPicture($scope.photos[i]) 
    .then(res => console.log(res.insertId)) // logging out here 
    i++; 
} 
+0

実際にはかなり意味があります。ありがとうございました - Uncaught SyntaxError:missing)引数リストの後にコードエラーがありますが、大括弧でわかりました – TMB87

+0

恐らく余分な括弧がついていますか? – ehacinom

+0

これは明らかな答えですが、私は本当にどこに見えないのですか – TMB87

関連する問題