Class enchant.Deferred
非同期処理を扱うためのクラス.
jsdeferredのAPIを模倣している.
jQuery.Deferredとの互換性はない.
See:
http://cho45.stfuawsc.com/jsdeferred/
- Defined in: enchant.js
Constructor Attributes | Constructor Name and Description |
---|---|
Method Summary
Method Attributes | Method Name and Description |
---|---|
call(arg)
値を伝播させる.
|
|
error(func)
エラー処理を追加する.
|
|
fail(arg)
エラーを伝播させる.
|
|
next(func)
後続の処理を追加する.
|
|
<static> |
enchant.Deferred.next(func)
タイマーで起動するDeferredオブジェクトを生成する.
|
<static> |
enchant.Deferred.parallel(arg)
複数のDeferredオブジェクトを待つDeferredオブジェクトを生成する.
|
Class Detail
enchant.Deferred()
enchant.Deferred .next(function() { return 42; }) .next(function(n) { console.log(n); // 42 }) .next(function() { return core.load('img.png'); // wait loading }) .next(function() { var img = core.assets['img.png']; console.log(img instanceof enchant.Surface); // true throw new Error('!!!'); }) .next(function() { // skip }) .error(function(err) { console.log(err.message); // !!! });
Method Detail
-
call(arg)値を伝播させる.
- Parameters:
- {*} arg
- 次の処理に渡す値.
-
error(func)エラー処理を追加する.
- Parameters:
- {Function} func
- 追加するエラー処理.
-
fail(arg)エラーを伝播させる.
- Parameters:
- {*} arg
- エラーとして伝播させる値.
-
next(func)後続の処理を追加する.
- Parameters:
- {Function} func
- 追加する処理.
-
タイマーで起動するDeferredオブジェクトを生成する.
- Parameters:
- {Function} func
- Returns:
- {enchant.Deferred} 生成されたDeferredオブジェクト.
-
複数のDeferredオブジェクトを待つDeferredオブジェクトを生成する.
// array enchant.Deferred .parallel([ enchant.Deferred.next(function() { return 24; }), enchant.Deferred.next(function() { return 42; }) ]) .next(function(arg) { console.log(arg); // [ 24, 42 ] }); // object enchant.Deferred .parallel({ foo: enchant.Deferred.next(function() { return 24; }), bar: enchant.Deferred.next(function() { return 42; }) }) .next(function(arg) { console.log(arg.foo); // 24 console.log(arg.bar); // 42 });
- Parameters:
- {Object|enchant.Deferred[]} arg
- Returns:
- {enchant.Deferred} 生成されたDeferredオブジェクト.