2016-09-12 10 views
-1

angularjsを使用して3つの関数を順番に実行したい。angularjsで関数を順番に実行する方法

関数doThis(コールバック){

    $scope.db.transaction(function (transaction) { 

        transaction.executeSql("insert into tbl1(---) values (?,?,?)", []); 

       });    

      if (typeof callback === 'function') { 

       callback(); 
      } 
     } 

     function doThat() { 

      $scope.db.transaction(function (transaction) { 
       transaction.executeSql("select * from tbl1 orderby col1 desc limit 1", [], function (transaction, result) { 

        //some code 

       }); 
      }); 
     } 

     doThis(doThat); 

仕上げdoThis後よりも第doThisを実行したい、doThatが実行されます。

+0

あなたの質問を再フォーマットしてください! – d4rty

+0

どのようにそれをフォーマットする..私はstackoverflowに新しい – abc

+0

あなたのコードを共有してください。 –

答えて

0

$qと呼ばれるAngularJSの約束サービスを使用することができます。

これを使用する簡単な方法は上記のコードですが、前に共有したリンクを見てください。

firstFunction.then(function() { 
    // Will be call after firstFunction 
}); 
+0

それは動作していません – abc

0
 function doThis(callback) { 

      var executeOnSuccess = false; 
      $scope.db.transaction(function (transaction) { 

       transaction.executeSql("insert into tbl1(---) values (?,?,?)", []); 
      executeOnSuccess = true; 
      });    

     if (typeof callback === 'function' && executeOnSuccess) { 

      callback(); 
     } 
    } 

    function doThat() { 

     $scope.db.transaction(function (transaction) { 
      transaction.executeSql("select * from tbl1 orderby col1 desc limit 1", [], function (transaction, result) { 

       //some code 

      }); 
     }); 
    } 

    doThis(doThat); 
+0

do notは内部に行っていますこの機能 – abc

関連する問題