用generator改写ajax

Posted abc1234_abc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用generator改写ajax相关的知识,希望对你有一定的参考价值。

function request(url) {
    // this is where we‘re hiding the asynchronicity,
    // away from the main code of our generator
    // `it.next(..)` is the generator‘s iterator-resume
    // call
    makeAjaxCall( url, function(response){
        it.next( response );
    } );
    // Note: nothing returned here!
}

function *main() {
    var result1 = yield request( "http://some.url.1" );
    var data = JSON.parse( result1 );

    var result2 = yield request( "http://some.url.2?id=" + data.id );
    var resp = JSON.parse( result2 );
    console.log( "The value you asked for: " + resp.value );
}

var it = main();
it.next(); // get it all started

 

以上是关于用generator改写ajax的主要内容,如果未能解决你的问题,请参考以下文章