远古JavaScript的书写样式

Java

1个回答

写回答

忘川秋裤

2026-02-18 04:40

+ 关注

日本
日本

大家还记得这样一个库吗?在很久很久以前,它能够把异步操作转化为同步操作。大概在2012年的时候,我听闻有一位大神写了一个库,这个库是用来解决异步问题的。在引入这个库之后,编写异步操作就如同编写同步操作一样简单,再也不用写那些繁杂冗长的回调函数了。不知道有没有人还记得这个库?这个库的作者好像是日本人。现在我找到了,这个库叫Concurrent.Thread.JS,作者是DAIsuke Maki。我之前的描述有些不太准确,这其实是一个JS多线程库。它模拟了多线程的运行,在其线程内部的代码是允许阻塞的,其效果同样是将异步转换为同步。示例如下:在上述代码中,新建线程thread1并执行函数f;然后再新建一个线程来执行函数g;函数g会终止thread1。以前浏览器修改dom是比较耗时的,在i增长到1000之前,线程就会被终止。但如今浏览器的性能已经大幅提升了,在g函数还没来得及终止thread1的时候,f函数就已经执行完了。所以需要把判断条件i < 1000修改为i < 10000才能看到预期的效果。还有一种方法是删除g()中的sleep(100),不过就算删除了sleep,f()也不一定能提前被终止。下面是执行xhr请求的示例。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号