gpt4 book ai didi

javascript - dojo xhrPost 进度(回调)事件监听器?

转载 作者:行者123 更新时间:2023-11-29 21:47:28 25 4
gpt4 key购买 nike

在 dojo API 文档中,我可以找到 loaderror 的回调,但我缺少 progress 的回调。

load: function(data) {
dojo.byId("response").innerHTML = "Form posted.";
},
error: function(error) {
dojo.byId("response").innerHTML = "Error...";
}

XMLHttpRequest API 提供了为 progress 事件注册事件监听器的可能性:

var oReq = new XMLHttpRequest();

oReq.addEventListener("progress", updateProgress, false);

oReq.addEventListener("load", transferComplete, false);

oReq.addEventListener("error", transferFailed, false);

oReq.addEventListener("abort", transferCanceled, false);

oReq.open();

// progress on transfers from the server to the client (downloads)
function updateProgress (oEvent) {...}

dojo 是否有一些类似于 XMLHttpRequest API 的机制?

最佳答案

dojo/request模块支持进度事件。它会自动调用新的 dojo/xhr浏览器平台上的模块。

不要将这些 API 与旧的、已弃用的对应 API 混淆。模块的包含和调用方式存在关键差异:

  1. 不同的文件必须以不同的方式包含(AMD而不是require(dojo.*))
  2. 方法必须以不同的方式调用并返回不同的类型。新的请求 API 使用 promise 而不是回调。

使用以下指南将您的代码转换为新的 API(可能需要更新到更新版本的 Dojo):


更新:如果您必须使用 Dojo 1.6...

你有两个选择:

  1. 仅在需要 progress 事件的部分使用 Dojo 1.6 之后的更现代的 Dojo。新的 AMD 架构意味着新库与 require() 回调 block 隔离。 AMD 架构还意味着您可以只加载新 xhr 所需的现代 Dojo 的最少部分。
  2. progress 事件功能反向移植到 Dojo 1.6。您可以添加另一个回调和 code doesn't seem that complex . (不要忘记考虑差异,因为您没有使用 promise 。)

关于javascript - dojo xhrPost 进度(回调)事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30568571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com