从调用$ .getJSON函数返回一个值,需要使用异步编程的概念。在JavaScript中,可以使用Promise或者async/await来解决这个问题。
以下是使用Promise的示例代码:
function getJSON(url) {
return new Promise(function(resolve, reject) {
$.getJSON(url, function(data) {
resolve(data);
}).fail(function() {
reject('Error: Unable to fetch data');
});
});
}
getJSON('https://api.example.com/data')
.then(function(data) {
console.log('Data:', data);
})
.catch(function(error) {
console.error('Error:', error);
});
以下是使用async/await的示例代码:
async function getJSON(url) {
try {
const data = await $.getJSON(url);
return data;
} catch (error) {
throw new Error('Error: Unable to fetch data');
}
}
(async function() {
try {
const data = await getJSON('https://api.example.com/data');
console.log('Data:', data);
} catch (error) {
console.error('Error:', error);
}
})();
在这两个示例中,我们都使用了$.getJSON函数来获取JSON数据,并使用Promise或async/await来处理异步操作。这样,我们就可以在函数中返回值,而不会出现undefined的情况。
领取专属 10元无门槛券
手把手带您无忧上云