これが私の基本的な状況です:
function somePostThing() {
return $post("/someUrl").done(doSomething);
}
function doSomething(data) {
// do stuff with the data
}
var object = {};
object.deferred = somePostThing();
// A few cycles later, object.deferred may be resolved or unresolved
object.deferred.done(function () { /* ... */ });
done
延期されたオブジェクトがすでに解決されている場合は起動しないため、最後の行は機能する場合と機能しない場合があります。私はこのようなことをしたいと思っています:
function doSomethingWithData(data) {
// do stuff
}
var value;
if (object.deferred.isResolved()) doSomethingWithData(object.deferred.value());
else object.deferred.done(doSomethingWithData);
すでに解決された値を取得するにはどうすればよいjQuery.Deferred()
ですか?