首页 > jquery里面的resolveWith

jquery里面的resolveWith

jquery里面的resolveWith怎么都是直接用,我没看见里面其他地方定义过resolveWith函数或者对象属性方法啊。比如readyList.resolveWith( document, [ jQuery ] );在哪定义的呢


// Add list-specific methods
jQuery.each( tuples, function( i, tuple ) {
    var list = tuple[ 2 ],
        stateString = tuple[ 3 ];

    // promise[ done | fail | progress ] = list.add
    promise[ tuple[1] ] = list.add;

    // Handle state
    if ( stateString ) {
        list.add(function() {
            // state = [ resolved | rejected ]
            state = stateString;

        // [ reject_list | resolve_list ].disable; progress_list.lock
        }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
    }

    // deferred[ resolve | reject | notify ]
    deferred[ tuple[0] ] = function() {
        deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
        return this;
    };
    deferred[ tuple[0] + "With" ] = list.fireWith;
});

jquery2.1.4源码里的,看最后一行。在Deferred的声明里找 3304行

【热门文章】
【热门文章】