Javascript jQuery右括号错误
我希望输出的顺序如下:Javascript jQuery右括号错误,javascript,jquery,ajax,Javascript,Jquery,Ajax,我希望输出的顺序如下: console.log("1st 1:", y1, y2, y3, y4); console.log("1st 2:", y1, y2, y3, y4); console.log("2nd 1:", y1, y2, y3, y4); console.log("2nd 2:", y1, y2, y3, y4); console.log("3rd:", y1, y2, y3, y4); 但是我得到了uncaughttypeerror:undefined不是done语句中的函
console.log("1st 1:", y1, y2, y3, y4);
console.log("1st 2:", y1, y2, y3, y4);
console.log("2nd 1:", y1, y2, y3, y4);
console.log("2nd 2:", y1, y2, y3, y4);
console.log("3rd:", y1, y2, y3, y4);
但是我得到了uncaughttypeerror:undefined不是done
语句中的函数
只能看到:
1st 1: 5 5 5 5
1st 2: 8 30 236 365
我找不到此代码有任何错误:
data: (
function() {
// Test
y1 = 5,
y2 = 5,
y3 = 5,
y4 = 5;
// Ajax is asynchronous
function doRun() {
$.ajax({
type: "GET",
url: "/getTest",
success: function(data) {
console.log("1st 1:", y1, y2, y3, y4);
y1 = data.V1;
y2 = data.V2;
y3 = data.V3;
y4 = data.V4;
console.log("1st 2:", y1, y2, y3, y4);
}
});
return doRun;
};
doRun().done(function() {
console.log("2nd 1", y1, y2, y3, y4);
}).fail(function() {
console.log("2nd 2");
});
var data = [],
time = (new Date()).getTime(),
i;
for (i = -10; i <= 0; i++) {
console.log("3rd:", y1, y2, y3, y4);
data.push({
x: time + i * 10,
y: 0
});
}
return data;
}()
)
数据:(
函数(){
//试验
y1=5,
y2=5,
y3=5,
y4=5;
//Ajax是异步的
函数doRun(){
$.ajax({
键入:“获取”,
url:“/getTest”,
成功:功能(数据){
控制台日志(“第一个1:”,y1,y2,y3,y4);
y1=数据0.V1;
y2=data.V2;
y3=data.V3;
y4=数据0.V4;
控制台日志(“第1个2:”,y1,y2,y3,y4);
}
});
返回多伦;
};
doRun().done(函数()){
控制台日志(“第二个1”,y1,y2,y3,y4);
}).fail(函数(){
控制台日志(“第二个2”);
});
var数据=[],
时间=(新日期()).getTime(),
我
对于(i=-10;i)
您返回了错误的内容。您返回了与调用的函数相同的doRun
。doRun
没有done
属性。您的意思是从$返回承诺。ajax
您对doRun()的调用返回的是doRun函数对象。这实际上有一个done()吗方法?我猜不是。注意问题的标题与实际问题无关。可能要编辑该部分!
function doRun() {
return $.ajax({
type: "GET",
url: "/getTest",
success: function(data) {
console.log("1st 1:", y1, y2, y3, y4);
y1 = data.V1;
y2 = data.V2;
y3 = data.V3;
y4 = data.V4;
console.log("1st 2:", y1, y2, y3, y4);
}
});
};