説明

Future オブジェクトを返す関数。詳しくは、ColdFusion の非同期プログラミングを参照してください。

戻り値

Future オブジェクト。

シンタックス

RunAsync()
RunAsync(UDFMethod function)
RunAsync(UDFMethod function, long timeOut)

履歴

ColdFusion(2018 リリース)の新機能。

パラメーター

パラメーター 必須/オプション 説明
function オプション オブジェクトを返すクロージャ関数。実行の結果、ステータスなどを格納します。
timeOut オプション タイムアウト(ミリ秒)。

関数を非同期に実行して結果を取得する場合

<cfscript>
             //To run a function asynchronously and get the result
             future = runAsync(function(){
                           return "Hello World!";
                      });
             result = future;
             writeOutput(result.get());
</cfscript>

別の関数の完了後に関数を非同期に実行する場合

<cfscript>
             future = runAsync(function(){
                    return 5;
             }).then( function(input){
                    return input + 2;
             });
             result = future.get(3); // 3 is timeout(in ms)
             writeOutput(result);
</cfscript>

エラーハンドラーを使用する場合

<cfscript>
             future = runAsync(function(){
                           return 5;
                      }).then(function(input){
                           return input + 2;
                      }).error(function(){
                           return "Error occurred.";
                      });
             result = future.get();
             writeOutput(result);
</cfscript>

チェーンを実行する場合

<cfscript>
       func = function() { 
             return "Hello World!";
             };
        thenfunc = function(input) { 
             return input & "It is a beautiful day!";
             };
        future = runAsync(func).then(thenfunc);
        writeOutput(future.get());
   </cfscript>

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー