Namespace: u

h5. u

ユーティリティを格納するh5.uオブジェクト
Source:

Namespaces

obj
str

Methods

(static) createInterceptor(pre, post) → {function}

インターセプタを作成します。
Parameters:
Name Type Description
pre function インターセプト先関数の実行前に呼ばれる関数です。
post function インターセプト先関数の実行後に呼ばれる関数です。
  • pre(),post()には引数としてinvocation(インターセプト対象の関数についてのオブジェクト)と data(preからpostへ値を渡すための入れ物オブジェクト)が渡されます。
  • invocationは以下のプロパティを持つオブジェクトです。
    target
    インターセプト対象の関数が属しているコントローラまたはロジック
    func
    インターセプト対象の関数
    funcName
    インターセプト対象の関数名
    args
    関数が呼ばれたときに渡された引数(argumentsオブジェクト)
    proceed
    インターセプト対象の関数を実行する関数。インターセプト対象の関数は自動では実行されません。 インターセプト先の関数を実行するには、 preに指定した関数内でinvocation.proceed()を呼んでください。 proceed()を呼ぶと対象の関数(invocation.func)を呼び出し時の引数(invocation.args)で実行します。 proceed自体は引数を取りません。
  • post()は、呼び出した関数の戻り値がPromiseオブジェクトかどうかをチェックし、Promiseオブジェクトの場合は対象のDeferredが完了した後に呼ばれます。
  • pre()の中でinvocation.proceed()が呼ばれなかった場合、post()は呼ばれません。
  • invocation.resultプロパティに呼び出した関数の戻り値が格納されます。
  • pre()が指定されていない場合、invocation.proceed()を実行した後にpost()を呼びます。
コード例(h5.core.interceptor.lapInterceptor)を以下に示します。
var lapInterceptor = h5.u.createInterceptor(function(invocation, data) {
	// 開始時間をdataオブジェクトに格納
		data.start = new Date();
		// invocationを実行
		return invocation.proceed();
	}, function(invocation, data) {
		// 終了時間を取得
		var end = new Date();
		// ログ出力
		this.log.info('{0} "{1}": {2}ms', this.__name, invocation.funcName, (end - data.start));
	});
Returns:
インターセプタ
Type
function
Source:

(static) loadScript(path, optopt) → {Any}

指定されたスクリプトをロードします。
Parameters:
Name Type Attributes Description
path String | Array.<String> ソースパス
opt Object <optional>
オプション
Properties
Name Type Attributes Description
async Boolean <optional>
非同期で読み込むかどうかを指定します。デフォルトはtrue(非同期)です。
trueの場合、戻り値としてPromiseオブジェクトを返します。
falseを指定すると同期的に読み込みます(loadScript関数からリターンしたタイミングで、スクリプトは読み込み済みになります)。
falseの場合、戻り値はありません。
なお、同期読み込みにすると場合によってはブラウザが固まる等の問題が発生する場合がありますので注意してください。
force Boolean <optional>
既に読み込み済みのスクリプトを再度読み込むかどうかを指定します。
trueの場合、サーバーから最新のスクリプトファイルを取得します。デフォルトはfalse(読み込まない)です。
parallel Boolean <optional>
非同期で読み込む場合にパラレルに読み込むかどうかを指定します。
trueの場合、指定した順番を考慮せずに読み込みます。デフォルトはfalse(シーケンシャルに読み込む)です。
また、このオプションはasyncオプションがtrue(非同期)のときのみ有効です。
atomic Boolean <optional>
ファイルの読み込みが全て正常に完了した時点でスクリプトを評価します。デフォルトはfalse(逐次読み込み)です。
読み込みに失敗したファイルが1つ以上存在する場合、指定した全てのスクリプトがロードされません。
Returns:
asyncオプションがtrueの場合はPromiseオブジェクトを、falseの場合は何も返しません。
Type
Any
Source: