jQuery Deferred

jQuery 1.5 ile gelen Deferred’ler ile işlem yapılan task ile işlem sonucu dönen asenkron dönüş değeri birbirinden ayrılarak daha sade ve temiz bir kod yazmak mümkün. jQuery Deferred ile alakalı güzel bir makale: http://www.erichynds.com/jquery/using-deferreds-in-jquery/ JQuery Deferred API: http://api.jquery.com/category/deferred-object/

one.json içeriği: {"my_result":"siyah beyaz", "my_code":"101"}
    var request = $.ajax({
        type: "get",
        url: "one.json",
        dataType: "json"
    });

    request = request.pipe(function (value) {
        console.log("called:"+ value.my_code);
        if (value.my_code == 101) {
            return value.my_code * 2;
        } else {
            return $.Deferred().reject(value);
        }
    });

    request.then(
        function (response) {
            // Log the success.
            console.log("Success!!!", response);
        },
        function (response) {
            // Log the failure.
            console.log("Fail!!!", response);
        }
    );

output:

  called:101
  Success!!! 202 
Written on January 20, 2015