jquery中ajax请求 异步转化成同步怎么实现

JavaScript010

jquery中ajax请求 异步转化成同步怎么实现,第1张

你好,jquery中ajax默认是异步,即async=true。如果要转变成同步,则async=false即可。具体如下操作:

jQuery.ajax({

type: "post",

url: url,

cache: false,

async: false,

contenttype: "text/htmlcharset=gbk",

success: function(data){

if(data=='1'){

same=true

}

}

})

如果满意,望采纳,谢谢!

异步方法:调用方法,在方法中启动子线程

异步调用:启动子线程调用方法

异步转同步:由于同步简单易用,将异步方法进行封装,同步调用,等待结果

1个Lock、2个Condition(NotEmpty和NotFull)。入队结束后NotEmpty发出信号,出队结束后NotEmpty发出信号。

DefaultFuture.java

get(int timeout)方法和doReceived(Response res)方法,可以看到使用Lock和Condition

Lock中有一个volatile标示到state,在获取锁和释放锁都会对volatile变量读写

根据happen-before特性

线程1-doSomething>线程1-unlock

线程1-unlock时会写state>线程2-lock时会读state(volatile变量写先于读)

线程1-doSomething>线程2-lock(根据前2个和happen-before传递性)

通过传递性和volatile变量写先于读,保证加锁后操作可见