XHR这个标签出现在Chrome浏览器的开发者工具Network选项卡中
XHR类型即通过XMLHttpRequest方法发送的请求
filter是一个过滤器,它可以筛选包含输入关键词的请求,也可以筛选特性类型的请求,如domain、status-code等
我建议用promise改造下代码
Me_Event_date.loadDataFile = function(name, src) {var xhr = new XMLHttpRequest()
var url = 'data/' + src
xhr.open('GET', url)
xhr.overrideMimeType('application/json')
xhr.onload = function() {
if (xhr.status < 400) {
event_name = JSON.parse(xhr.responseText)
Me_Event_date.onLoad(event_name)
}
}
xhr.onerror = this._mapLoader || function() {
Me_Event_date._errorUrl = Me_Event_date._errorUrl || url
}
xhr.send()
}
可以改成
Me_Event_date.loadDataFile = function(name, src ) {
return new Promise(function(resolve ,reject){
var xhr = new XMLHttpRequest()
var url = 'data/' + src
xhr.open('GET', url)
xhr.overrideMimeType('application/json')
xhr.onload = function() {
if (xhr.status < 400)
resolve(JSON.parse(xhr.responseText))
}
xhr.onerror = function(e){
reject(e)
}
xhr.send()
}).then(function(event_name){
Me_Event_date.onLoad(event_name)
}).catch(function(){
(this._mapLoader || function() {
Me_Event_date._errorUrl = Me_Event_date._errorUrl || url
})()
})
}
如果要使用只需要
this.loadDataFile.bind(this, 'me_events', filename).then(function(){
loadMapData(1)
$gameVariables._data[11] = object.events
})