$.ajax().promise,它是什么return?
$.ajax().promise, what does it return?
我正在检查 rxJs,自动完成 example。 flatMapLatest
return 的参数函数是 $.ajax().promise
。这是什么意思?
我遇到过使用 $.ajax.done, then, fail
的代码。但是 promise 的作用是什么 return?
代码块是,
$.ajax({
url: 'http://en.wikipedia.org/w/api.php',
dataType: 'jsonp',
data: {
action: 'opensearch',
format: 'json',
search: global.encodeURI(term)
}
}).promise()
$.ajax() 返回的 jqXHR 对象实现了 Promise 接口,为它们提供了 Promise 的所有属性、方法和行为。这些方法采用一个或多个在 $.ajax() 请求终止时调用的函数参数。这允许您在单个请求上分配多个回调,甚至可以在请求完成后分配回调。
使用 .promise()
方法的一个通常目标是防止某些方法的客户端(调用者)解析 Deferred 对象:无法控制 Promise 的状态。
然而,在这种情况下,目的充其量是不清楚的:jqXHR
对象无法成功解析(但是它可以中止,因此严格来说它不是 Promise
)。不过,在您的示例中,甚至没有使用或返回结果。
我正在检查 rxJs,自动完成 example。 flatMapLatest
return 的参数函数是 $.ajax().promise
。这是什么意思?
我遇到过使用 $.ajax.done, then, fail
的代码。但是 promise 的作用是什么 return?
代码块是,
$.ajax({
url: 'http://en.wikipedia.org/w/api.php',
dataType: 'jsonp',
data: {
action: 'opensearch',
format: 'json',
search: global.encodeURI(term)
}
}).promise()
$.ajax() 返回的 jqXHR 对象实现了 Promise 接口,为它们提供了 Promise 的所有属性、方法和行为。这些方法采用一个或多个在 $.ajax() 请求终止时调用的函数参数。这允许您在单个请求上分配多个回调,甚至可以在请求完成后分配回调。
使用 .promise()
方法的一个通常目标是防止某些方法的客户端(调用者)解析 Deferred 对象:无法控制 Promise 的状态。
然而,在这种情况下,目的充其量是不清楚的:jqXHR
对象无法成功解析(但是它可以中止,因此严格来说它不是 Promise
)。不过,在您的示例中,甚至没有使用或返回结果。