0

我有一个围绕 jquery ajax 的自定义包装函数。

custom.get = function (path, callback) {
  // do other things
  $.get(path, function () {
    callback()
  })
}

正在做

$.when(custom.get(path), custom.get(path)).done(function (result1, result2) { callback})

似乎不起作用。它应该工作吗?做延迟的任何替代方案?

4

2 回答 2

0

不要忘记返回 ajax 调用,并且您应该检查以确保在调用之前定义了回调。

custom.get = function (path, callback) {
  // do other things
  return $.get(path, function () {
    if(callback)
       callback()
  })
}
于 2011-08-23T16:53:11.343 回答
0

您需要从函数中返回jXHR对象(抽象 jQuery Deferredcustom.get()才能使其工作:

custom.get = function (path, callback) {
  // do other things
  return $.get(path, function () {
     if( typeof callback === 'function') callback();
  })
} 

您还应该检查您传入的第二个参数是否真的是一个避免不必要错误的函数,见上文。

于 2011-08-23T16:54:06.820 回答