Javascript 在使用JQuery加载另一个函数时执行该函数

Javascript 在使用JQuery加载另一个函数时执行该函数,javascript,jquery,html,Javascript,Jquery,Html,我有两个函数,我想逐个加载它们。它们是这样的: <script> //first function load_ajax_select(id); //second fucntion fadeIn_that_div(); </script> function load_ajax_select() { $.get("/some/url", function(stuff) { $("some selector").html

我有两个函数,我想逐个加载它们。它们是这样的:

<script>
    //first function
    load_ajax_select(id);
    //second fucntion
    fadeIn_that_div();
</script>
function load_ajax_select() {
    $.get("/some/url", function(stuff) {
        $("some selector").html(stuff);
    });
}

//第一功能
加载\u ajax\u选择(id);
//第二功能
fadeIn_the_div();
我想知道在加载第一个函数后,如何完成第二个函数


谢谢。

让我们假设
load\u ajax\u select
如下所示:

<script>
    //first function
    load_ajax_select(id);
    //second fucntion
    fadeIn_that_div();
</script>
function load_ajax_select() {
    $.get("/some/url", function(stuff) {
        $("some selector").html(stuff);
    });
}

或者类似的,可能还有其他的逻辑。为了让其他事情在完成时能够得到通知,它能做的最灵活的事情就是返回一个承诺。根据它所做的,可能最简单的方法是从
$返回它已经拥有的承诺。get

function load_ajax_select() {
    return $.get("/some/url", function(stuff) {
        $("some selector").html(stuff);
    });
}
…或者有时创建自己的:

function load_ajax_select() {
    var d = $.Deferred();
    $("some selector").load("/some/url", function() {
        d.resolve();
    });
    return d.promise();
}
…虽然通常情况下,如果您已经有了一个,创建自己的是一种反模式

不关心结果何时发生的代码可以忽略返回值。但是您需要知道的代码可以使用它:

load_ajax_select().then(fadeIn_that_div);
或者有时候你可能需要

load_ajax_select().then(function() { fadeIn_that_div(); });

…如果由于某种原因无法通过
直接调用
fadeIn\u div
,则

在第一个
$的
完成
回调中移动第二个函数调用。ajax
@Tushar第二个函数将在一个页面中加载。但是第一个用于另一个页面。我不能这样做。使用flag,在ready
flag=true
,在调用check
if(flag)
之前,先在
complete
中加载第二个ajax
flag=false
。读字里行间的话。@Tushar很折磨你。它起作用了欢迎,很乐意帮忙:)