*
答えて
$ qをは、イベントプログラミングのtipicalあるJavaScriptで非同期的環境を管理するために使用されます。 $ qをでのコールバックもあり、それは(あなたの例では、それが現在のコールスタックなどのsetTimeoutコールバック関数になります)現在のコールスタックの後に呼び出します非同期。私はいくつかの例を準備:
var app=angular.module("app",[]);
app.controller("cont",function($q){
function asyncGreet() {
var deferred = $q.defer();
setTimeout(function(){
console.log("-- Standard log 1");
//example asnychronous call using setTimeout
setTimeout(function(){ console.log("--- Call in timeout 2");});
//our function is called as third
deferred.resolve();
console.log("-- Standard log 4");
console.log("-- Standard log 5");
},1000);
return deferred.promise;
};
console.log("- asyncGreat call 0");
asyncGreet().then(function(){
console.log("--- Resolve log 3");
});
console.log("- after asyncGreat call 6");
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="cont">
</div>
解決は途中で呼ばれるが、コンソールには、我々はそれが最後に呼ばれて参照されます。その理由は、コールバックが現在のコールスタックの後に呼び出され$ qをの非同期動作ですので、setTimeout
のすべてのコードの後に。
同じ状況が時間なしで呼び出しsetTimeout
であり、それは現在のコールスタックの後に非同期に実行されます。
は、私は意図的にコンソールログ内の数値を設定し、数字は、コードのコールの位置を示しているが、$ qとタイムアウトの非同期は、コード内の位置と実際が一致していないそれらを呼び出すことを示しています。
また、解決と拒否のみが現在の呼び出しスタックに対して非同期で実行されますが、標準の関数呼び出しは標準的な方法で実行されますが、この例では1秒後にsetTimeoutがあるため、 :
- asyncGreat() call
-- async call of setTimeout callback after 1s
--- async call code in second setTimeout
--- async call code in resolve
ありがとうございます!!!!それは$ qの関数を呼び出して非同期として動作するようにするという意味です。このシナリオでは、私たちはあなたの助けによって理解しています – suhas
答えが助けられたら、それは正しいものとして設定してください。ありがとう。 –
- 1. 返信のある関数で非同期呼び出しを呼び出す
- 2. 非同期呼び出しで同期関数をラップする#
- 3. $ qでAngularJSでの非同期SQL呼び出しの処理
- 4. 非同期関数呼び出し
- 5. vbaで非同期関数呼び出しを行う方法
- 6. 非同期ライブラリから非同期呼び出しを行う?
- 7. 非同期関数呼び出しがある場合のJavaScriptの同期フロー
- 8. anglejsのhtmlで非同期関数を呼び出す方法
- 9. 応答ネイティブの非同期関数内でリダイレクトするメソッドを呼び出すことは可能ですか?
- 10. 同期関数への非同期呼び出し
- 11. 非同期静的関数を呼び出すときのSyntaxError
- 12. ASP.Netから非同期関数を呼び出す
- 13. 1つの非同期関数をグループで呼び出すにはどうすればよいですか?
- 14. 非同期に非同期デリゲートを呼び出しますか?
- 15. 関数は非同期シグナルセーフであるかどうかを確認する(シグナルハンドラ内で呼び出すことができます)
- 16. powershellコマンドレットを非同期に呼び出すことはできますか?
- 17. 2つの関数のアプリケーションをロジックアプリケーションから非同期で呼び出す
- 18. 通常のメソッドを非同期の方法で呼び出す最も良い方法は何ですか?
- 19. ループ内で非同期関数を呼び出す
- 20. exec()で動的に非同期関数を呼び出す
- 21. ジェネレータ(非同期)関数をインターバルベースで呼び出す方法
- 22. メインファイルで非同期関数を呼び出す
- 23. 内部から呼び出されるSwift関数非同期クロージャも非同期ですか?
- 24. 内部のネイティブ呼び出し関数.then非同期関数
- 25. WindowsスクリプトホストでJavaScript関数の非同期呼び出しが可能ですか?
- 26. コールバックで複数の非同期非同期呼び出しからのデータを操作するにはどうすればよいですか?
- 27. 通常の関数からの仮想関数呼び出し
- 28. React-Nativeで非同期関数内で非同期関数を呼び出す - Firebase
- 29. 非同期関数を通常のように動作させる方法は?
- 30. ASP.NET:Global.asaxで非同期タスクを呼び出すことは可能ですか?
申し訳ありませんがフォーマットしています...私は非同期ではない通常の関数を呼び出したい$ q非同期かどうか? – suhas