Pot.js と PotLite.js で利用可能。
コールバックチェイン開始済みの Pot.Deferred インスタンスを返します。
開始済みとは、.begin() が実行済みということです。
ただしコールバック関数自体は 1 つも追加されていないので、
空の状態で実行済みということです。
なので、then などでコールバック関数を追加すると
即座に実行します。
引数に何らかの値を渡すと、その値が次のコールバックの引数に渡ります。
Pot.globalize() が適応済みの場合、Pot.Deferred.succeed() が succeed() で実行できます。
開始済みの 新しい Pot.Deferred インスタンスを返します。
Pot.request('/foo.json').then(function(data) { return ( // 結果が取得できたら次のチェインに繋げるため、 // succeed を使用して整合性をとる。 // 失敗したら別の request により取得する data.result ? Pot.Deferred.succeed(data) : Pot.request('/bar.json') ).then(function(data) { // 次のチェインに繋げられる return data.result; }); }).then(function(res) { debug(res); });
用途は様々ですが、一例として上のような場面で
非 Deferred な値を Deferred 化するために便利です。