Пример:
Используем метод resolveWith() для выполнения объекта deferred с передачей аргумента в метод deferred.done, в результате на консоль будет выведено сообщение об ошибке "Массив с именем jQuery".
"jQuery"
$(document).ready(function() { $('#go').click(function(){ var dfdnew = $.Deferred(); dfdnew.done(function(){ $('#result').text('Массив с именем: '+this.name); }); var newdata = {name: "jQuery", age: 3}; dfdnew.resolveWith(newdata); return dfdnew.promise(); }); });
"HTML"
<button id="go">Запустить объект Deferred</button> <div id="result"></div>
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="http://slyweb.ru/css/jqueryiframe.css"
rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(document).ready(function() {
$('#go').click(function(){
var dfdnew = $.Deferred();
dfdnew.done(function(){
$('#result').text('Массив с именем: '+this.name);
});
var newdata = {name: "jQuery", age: 3};
dfdnew.resolveWith(newdata);
return dfdnew.promise();
});
});
});
</script>
</head>
<body class="iframe">
<button id="go">Запустить объект Deferred</button>
<div id="result"></div>
</body>
</html>