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
原文地址:https://www.cnblogs.com/panyujun/p/10348855.html