gpt4 book ai didi

javascript - 什么时候应该使用 $.getJSON.done() 而不是 $.getJSON()?

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

我想知道这两个代码之间是否存在概念上的差异:

代码1:

$(function(){ 
var url = "url";
$.getJSON(url, function(data){
console.log(data);
})
});

代码2:

$(function(){ 
var url = "url";
$.getJSON(url).done(function(data){
console.log(data);
})
});

在什么情况下 $.getJson().done() 方法最相关?

最佳答案

第一个使用回调函数作为第二个参数。这允许您在函数完成后执行代码。请注意,您处于一个单独的函数中。

第二个也使用回调函数作为 promise ,但它的工作原理不同。

// version one
setTimeout(function() {
doStuff1();
doStuff2();
}, 1000)


// version one - callback
function doStuff1() {
doSomething1("value", function(responce) {
console.log(responce);
});
};

function doSomething1(v, cb) {
if (typeof v === "string") {
cb(true);
} else {
cb(false);
}
return false;
}

// note the function will always return false but the callback gets the value you want



// version 2, class with promise callback
// look at the class function and see how it works slightly differently
function doStuff2() {
var $ = new doSomething2();
$.Something("value").done(function(resp) {
console.log(resp)
});
};

class doSomething2 {
constructor() {
this.v = false;
}

Something(val) {
if (typeof val === "string") {
this.v = true;
} else {
this.v = false;
}
return this;
}
done(cb) {
return cb(this.v);
}
}

关于javascript - 什么时候应该使用 $.getJSON.done() 而不是 $.getJSON()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44931207/

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