chain $ .when,.then(),。done()

时间:2013-02-25 15:32:27

标签: jquery jquery-deferred

我想执行一个ajax请求,当它完成后,将返回的HTML附加到div,并且一旦附加了该数据,就执行另一个ajax请求,该请求将依次向HTML添加内容先前附上。但显然我有一些语法错误。我是否错误地将then()done()联系在一起?

$.when(append_line_item())
 .then(function (line_item_data) {
    $('#line_items').append(line_item_data)}
  .done(populateMainProductsSelect())
);

1 个答案:

答案 0 :(得分:2)

你过度思考,在这种情况下你不需要$.when$.then

// assuming append_line_item() returns a promise object
append_line_item().done(function(line_item_data){
    $('#line_items').append(line_item_data);
    populateMainProductsSelect();
});

语法错误发生在这里:

 done(populateMainProductsSelect())

您只需删除()

即可
 done(populateMainProductsSelect)