Request
是 Cesiumjs 中用于发起 HTTP 请求的类。它支持 GET、POST、PUT、DELETE 等常见的 HTTP 请求方式,可以设置请求头、请求参数、超时时间等属性。
可以通过以下方式创建一个 Request
对象:
var request = new Cesium.Request({
// options
});
Request
的构造函数接收一个对象作为参数,可以设置以下选项:
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
url |
String |
undefined |
请求的 URL |
headers |
Object |
{} |
请求头 |
requestHeader |
Object |
undefined |
弃用,使用 headers 替代 |
parameters |
Object |
{} |
请求参数 |
body |
Object |
undefined |
请求体 |
method |
String |
GET |
请求方式 |
overrideMimeType |
String |
undefined |
请求的 MIME 类型 |
preferText |
Boolean |
undefined |
是否优先请求文本格式 |
responseType |
String |
undefined |
响应的数据类型 |
timeout |
Number |
undefined |
请求的超时时间(单位:毫秒) |
retryAttempts |
Number |
undefined |
请求失败后重试的次数(默认不重试) |
retryCallback |
Function |
undefined |
请求失败后每次重试时的回调函数 |
示例:
var request = new Cesium.Request({
url: '/api/data',
headers: {
'Authorization': 'Bearer token'
},
parameters: {
'id': '123'
},
body: {
'name': 'foo',
'age': 20
},
method: 'POST',
overrideMimeType: 'text/plain',
preferText: true,
responseType: 'json',
timeout: 3000,
retryAttempts: 3,
retryCallback: function() {
console.log('Retry...')
}
});
Request
对象创建之后,可以调用 fetch
方法发起请求。fetch
方法接收一个可选的 Promise
对象作为参数,如果传入了该参数,则返回的是该 Promise
对象,否则返回一个新的 Promise
对象。
示例:
request.fetch()
.then(function(response) {
// 处理响应
})
.catch(function(error) {
// 处理错误
})
如果需要取消一个正在进行的请求,可以调用 abort
方法。
示例:
var promise = request.fetch();
// 取消请求
request.abort();