モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

工作HardwareHub ロゴ画像 (Laptop端末利用時)
工作HardwareHub ロゴ画像 (Mobile端末利用時)

プロミス (AngularJS)

モーダルを閉じる

ステッカーを選択してください

モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2015/07/22
最終更新最終更新
2017/11/27
記事区分記事区分
一般公開

非同期処理を記述するための優れたパターンがプロミスです。AngularJS における実装ではこちらの公式ページで紹介されている $q を利用します。

サンプルコード

<!DOCTYPE html>
<html lang="ja" ng-app="myApp">
<head>
  <meta charset="utf-8">
  <script src="angular.min.js"></script>
</head>
<body>

<div ng-controller="myController"></div>

<script>
 var app = angular.module('myApp', []);
 app.controller('myController', ['$scope', '$timeout', '$q', function($scope, $timeout, $q){

   function async() {
     var deferred = $q.defer();
     $timeout(function(){
       deferred.notify('START');
       if(true) {
         deferred.resolve('OK');
       }
       else {
         deferred.reject('NOT OK');
       }
     }, 1000); //msec
     return deferred.promise;
   }

   var promise = async();
   promise.then(function(msg){
     console.log('resolved, ' + msg);
   }, function(msg){
     console.log('rejected, ' + msg);
   }, function(msg){
     console.log('notified, ' + msg);
   }).finally(function(){
     console.log('finalize');
   });
 }]);
</script>

</body>
</html>
0
詳細設定を開く/閉じる
アカウント プロフィール画像 (本文下)

Scalaはいいぞ

記事の執筆者にステッカーを贈る

有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

さらに詳しく →
ステッカーを贈る コンセプト画像

Feedbacks

Feedbacks コンセプト画像

    ログインするとコメントを投稿できます。

    関連記事

    • AngularJS 公式ドキュメントの利用例
      AngularJS はクライアントサイドの JavaScript フレームワークです。Angular は「角のある」という意味の英単語であり HTML のブラケットを表現しています。また随所で見られる ng というワードは発音が angular と似ているため採用されました。AngularJS の使用方法については様々な個人ブログにまとめられてはいますが、やはり公式ドキュメントが一番よくまとまって...
    • ルーティングを定義してシンプルな SPA を構築 (AngularJS)
      AngularJS は SPA (single page application) の構築をサポートしています。SPA を強制している訳ではないことに注意します。例えば SPA を構築する際に有用なモジュール ngRoute は外部モジュールとして提供されています。別途読み込みが必要です。 サンプルコード index.html <!DOCTYPE html> <html lang...
      カラフカラフ11/27/2017に更新
      いいねアイコン画像0
    • DOM 操作ディレクティブ (AngularJS)
      AngularJS のビルトインディレクティブのうち DOM 操作に関するものを、コード例とともに列挙します。公式ドキュメントはこちらです。 DOM 操作ディレクティブ <!DOCTYPE html> <html lang="ja" ng-app> <head> <meta charset="utf-8"> <script type="...
    • フィルター (AngularJS)
      AngularJS にはモデルの値を表示用に変換するフィルタという機能があります。コマンドラインにおけるパイプのように使用します。公式ドキュメントはこちらです。 フィルターの使用例 <!DOCTYPE html> <html lang="ja" ng-app="myApp"> <head> <meta charset="utf-8"> <...
    • HTTP 通信 (AngularJS)
      AngularJS における HTTP 通信では、XMLHttpRequest オブジェクトが利用されています。AngularJS で HTTP 通信を行うためのサンプルコードを以下に示します。公式ページはこちらです。 index.html <!DOCTYPE html> <html lang="ja" ng-app="myApp"> <head> <...