Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 调用复杂函数会在何时禁止$?_Jquery - Fatal编程技术网

Jquery 调用复杂函数会在何时禁止$?

Jquery 调用复杂函数会在何时禁止$?,jquery,Jquery,我有一个功能: function someFunction(params) { //Creates an object //$.each(collection, funct() { /*do work on collection, essentially pushes items into an array */}); //JSON.stringify(results) //$.ajax POST...this is what I want $.when to wait for } 我设

我有一个功能:

function someFunction(params) {
//Creates an object
//$.each(collection, funct() { /*do work on collection, essentially pushes items into an array */});

//JSON.stringify(results)

//$.ajax POST...this is what I want $.when to wait for

}
我设置

$.when(someFunction(params)
).then(doNextThing);
我也试过了

$.when(function() {someFunction(params) }
).then(doNextThing);

doNextThing
在回调之前被调用。是否有可能
$。每个
字符串化
都会导致
$。当
失败时?

某些函数需要为
$返回一个对象。当
正常工作时。否则它相当于
someFunction(params);$。when(未定义)。然后(doNextThing)
。在此设置中,永远不会调用
doNextThing

由于您正在等待ajax调用,因此它应该如下所示:

function someFunction(params) {
    ...
    return $.ajax(...);
}

$.when(someFunction(params)).then(doNextThing);

有什么函数返回了什么吗?它应该返回$。没有
return
语句。你的意思是我只是在$.ajax前面加了一个回车。例如,
return$.ajax{…
?执行
return$.ajax
修复了它。伙计,我已经为此挣扎了几个小时。如果你发布一个答案,我肯定会给你一个答案。