如何根据本地存储的另一个数据响应延迟XMLHttpRequest
How to defer a XMLHttpRequest based on another data response from local storage
//function to download pps_compress.txt from cloud server for global parameter set PPs
function get_pps_params()
{
chrome.storage.local.get(['ppsParams'], function(result) {
if (typeof(result) !== "undefined" && result != null){
ppsParams = _base64ToArrayBuffer(result.ppsParams);
console.log(ppsParams);
dfd_pps.resolve();
return;
}
});
if(ppsParams == null)
{
var oReq = new XMLHttpRequest();
oReq.open("GET", CLOUD_SERVER + 'get_pps_params', true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
console.log("Got pps params compressed!");
ppsParams = oReq.response; // Note: not oReq.responseText
chrome.storage.local.set({ppsParams: _arrayBufferToBase64(ppsParams)});
dfd_pps.resolve();
};
oReq.send();
}
}
在上面的代码中,我试图从本地存储中获得一些参数到变量ppsParams
,但我想只在本地存储请求失败时向CLOUD_SERVER
发送请求,现在两者都正在执行,所以我怎么能推迟XMLHttpRequest。
看起来像chrome.storage.local.get
是异步的,所以移动XMLHttpRequest代码如下所示
function get_pps_params()
{
chrome.storage.local.get(['ppsParams'], function(result) {
if (typeof(result) !== "undefined" && result != null){
ppsParams = _base64ToArrayBuffer(result.ppsParams);
console.log(ppsParams);
dfd_pps.resolve();
}
if(ppsParams == null)
{
var oReq = new XMLHttpRequest();
oReq.open("GET", CLOUD_SERVER + 'get_pps_params', true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
console.log("Got pps params compressed!");
ppsParams = oReq.response; // Note: not oReq.responseText
chrome.storage.local.set({ppsParams: _arrayBufferToBase64(ppsParams)});
dfd_pps.resolve();
};
oReq.send();
}
return;
});
}
相关文章:
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 将节点数据分配给另一个变量jstree
- 用javascript将数据从一个窗口传递到另一个窗口
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 如何使用另一个字符串作为模板从字符串中提取数据
- 如何将JavaScript变量的数据传递到另一个php页面
- 使用数据属性将HTML数据复制到另一个元素
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 如何从另一个序列或数据中获取值
- 当单元格内容由于forumula从另一个工作表编译数据而更改时发送电子邮件
- 使用另一个模板上的单击事件从一个模板传递数据
- 在dojo中将数据从一个选项卡绑定到另一个选项卡(打开选项卡?)
- 如何使用XMLHttpRequest()不断地将数据发送到我的网站中的另一个页面
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- 是否可以使用不同投影的另一个WMS层显示OSM数据
- Hapi-js重定向到另一个带有额外请求数据的路由
- 使用javascript asp.net将listbox数据传输到另一个listbox
- Javascript-从另一个域发送和接收数据
- 在输入字段中选择一个值,然后用相应的数据填充另一个字段
- 如何设置第一个控制器数据另一个控制器