letajax=function(sql,done){
console.log("开始执行ajax函数");setTimeout(function(){done(sql)},1000);};letabc=function(sql){
console.log(sql);}let sql='select * from china'ajax(sql,abc)
1.3 改进
letajax=function(result,sql,done){
console.log("开始执行ajax函数");setTimeout(function(){done(result,sql)},1000);};letabc=function(result,sql){
result=100
console.log(sql);}let sql='select * from china'let result
ajax(result,sql,abc)
2 es5异步转同步
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>异步变同步</title></head><body><scripttype="text/javascript">var a =0;
window.onload=function(){vara=function(){setTimeout(function(){
a =100;if(get){get(a)}},5000)}()if(a){
document.write(a)}elseif(!a){varget=function(b){
a=b;
document.write(a)}}}</script></body></html>
let sendok =falseletsendtoairport=()=>{returnnewPromise((resolve, reject)=>{if(sendok){setTimeout(()=>{resolve('send ok')},1000);}else{setTimeout(()=>{reject('send not ok')},1000);}})}let p =sendtoairport()
p.then((value)=>{ console.log(value)},(reason)=>{ console.log(reason)})