检查功能何时完成读取所有xmls

时间:2015-07-07 00:38:47

标签: javascript jquery html json function

我有一个函数,它从7个不同的URL读取XML提要,然后添加到JSON对象中。我需要知道函数的执行何时完成,然后我需要将Json feed发送到另一个函数。

simpleAJAXLib.init();这是读取所有xmls并将其放入Json对象jsonStr2的函数,我需要将此Json对象传递给另一个方法。

passtoSecMethod(jsonStr2);

我正在尝试承诺,但仍然是同样的问题。

$(document).ready(function() {

    d = new $.Deferred();
    myfunction();

    function myfunction() {
        promise = longfunctionfirst().then(shortfunctionsecond);
    }

    function shortfunctionsecond() {

        alert("second function finished");
        return d.promise()
    }

    function longfunctionfirst() {
        var URLCollection = [
            "http://news_national_3354.xml",
            "http://news_theworld_3356.xml",
            "http://news_sport_3168.xml",
            "http://news_ent_3169.xml",
            "http:///news_lifestyle_3171.xml",
            "http://news_travel_3325.xml",
            "http://news_money_505.xml",
            "http://news_tech_506.xml"
        ];
        for (var i = 0; i < URLCollection.length; i++) {
            simpleAJAXLib.init(URLCollection[i]);

        }
        d.resolve();
        return d.promise();
    }
});

警告应在longfunctionfirst完成时打印,但在函数启动时立即打印

1 个答案:

答案 0 :(得分:0)

承诺应该做到这一点。它们并不像它们看起来那么难。这是一个教程:promises