gpt4 book ai didi

javascript - 可以动态创建 getJSON url 字符串吗?

转载 作者:行者123 更新时间:2023-12-03 10:34:56 25 4
gpt4 key购买 nike

是否可以替换 url 字符串的这种方法:

    $.when($.getJSON(url0), $.getJSON(url1), $.getJSON(url2), $.getJSON(url3)).then(function() { ...

使用另一个 JSON 文件?

为什么? url 项目的数量发生变化,我想从单个文件中提取它们,而无需每次修改此代码所在的位置。我可以处理 url0-url3 或 url0-40,然后返回 url0-url20。

当前方法强制手动更新用于构建 url 字符串的数组以及对函数的更新。

你有什么建议?

最佳答案

也许是这样的?

var urls = [
'http://jsonplaceholder.typicode.com/posts/18',
'http://jsonplaceholder.typicode.com/posts/37'
];

var results = {};

function saveResult(urlPath, data) {
results[urlPath] = data;
}

function f() {
($.when).apply(this, Array.prototype.slice.call(arguments).map(function(urlPath) {
return $.getJSON(urlPath, saveResult.bind(this, urlPath));
})).then(function() {
console.log('Completed fetch', results);
});
}

f.apply(this, urls);

更新:如果你想从文件中获取网址,类似这样的东西应该可以工作:

function makeUrls(cb) {
var urls = [];
var idString1 = '???', idString2 = '????';
$.when($.getJSON('new_name2.json')).then(function(c) {
$.each(c.myStuff, function(f, e) {
urls.push(idString1 + e.id + idString2);
});
cb(urls);
});
}

var results = {};

function saveResult(urlPath, data) {
results[urlPath] = data;
}

function f() {
($.when).apply(this, Array.prototype.slice.call(arguments).map(function(urlPath) {
return $.getJSON(urlPath, saveResult.bind(this, urlPath));
})).then(function() { console.log('DID IT!', results); });
}

makeUrls(function(urls) {
f.apply(this, urls);
});

关于javascript - 可以动态创建 getJSON url 字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040753/

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