Javascript FirefoxSDK多次执行请求

Javascript FirefoxSDK多次执行请求,javascript,firefox-addon-sdk,Javascript,Firefox Addon Sdk,我正在用我的FirefoxSDK执行一个服务器请求,它会回复一个XML文件 我正在解析XML文件中的两个特殊值,并将它们放入全局数组(在我的onComplete函数中) 我的问题是数组没有保存元素0和1中的值,我不知道为什么 我的第二个问题是,我想在我的插件中调用当前选项卡url(这意味着不止一次)的请求。我知道请求模块说“每个请求对象设计为只使用一次”,但是否可以多次调用它 我总是会遇到这样的错误: 错误:此请求对象已被使用。您必须创建一个新请求才能发出新请求 谢谢只需将请求调用包装在一个可重

我正在用我的FirefoxSDK执行一个服务器请求,它会回复一个XML文件

我正在解析XML文件中的两个特殊值,并将它们放入全局数组(在我的
onComplete
函数中)

我的问题是数组没有保存元素
0
1
中的值,我不知道为什么

我的第二个问题是,我想在我的插件中调用当前选项卡
url
(这意味着不止一次)的请求。我知道请求模块说“每个请求对象设计为只使用一次”,但是否可以多次调用它

我总是会遇到这样的错误:

错误:此请求对象已被使用。您必须创建一个新请求才能发出新请求


谢谢

只需将请求调用包装在一个可重用的函数中即可<代码>请求是一个构造函数,因此可以实例化多个请求。但每个请求只能请求一个URL

function request (url) {
  Request({
    url: url
    onComplete: parseResponse, 
  }).get();
}

对于XML问题,只需控制台记录单个节点,可能不是您所期望的。

非常感谢您的解决方案,我没想到更频繁地使用请求会如此容易:)当我在parseResponse函数中记录示例数组时,它工作正常,但不是全局保存,我不明白:(好的,在每个
parseResponse
,每次调用都会覆盖数组的前2个值。也许你想改用push?我想我的问题是我没有考虑javascript的异步性。一个朋友告诉我,我必须在这里使用回调,所以我会尝试一下!
function request (url) {
  Request({
    url: url
    onComplete: parseResponse, 
  }).get();
}