小编Nic*_*las的帖子

JQuery立即推迟拒绝

使用JQuery.Deferred时可以直接调用reject()吗?没有调用异步函数?

也许我想在异步函数的开头进行某种测试.如果测试失败,我想立即拒绝.请参阅下面的第一个if块.

function doSomethingAsync() {

    //Test if the ajax call should be invoked
    var testFailed = true;

    var dfd = $.Deferred();

    //Check if test failed
    if (testFailed) {
        var asyncResult = {
            success: false,
            data: 'test failed'
        };

        //Is this OK usage of reject on the same thread?
        dfd.reject(asyncResult);

        return dfd.promise();
    }


    $.get('/api/testapi/get').done(function (data) {
        var asyncResult = {
            success: true,
            data: data
        };

        dfd.resolve(asyncResult);
    }).fail(function (err) {
        var asyncResult = {
            success: false,
            data: err
        };

        dfd.reject(asyncResult);
    });

    return …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-deferred

9
推荐指数
1
解决办法
6846
查看次数

标签 统计

javascript ×1

jquery ×1

jquery-deferred ×1