这个,一听上去有点道理,细思极恐。你这个主意其实就要求所有的系统和用户代码都以默认await为前提,每一个操作相当于都要try catch。真要这么搞,我觉得写代码状态复杂度和时序考虑复杂度就要爆炸了,跟现在写并发程序有点像了,
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 标 题: Re: 把js全干掉,统一成ts,有没有搞头?
: 发信站: 水木社区 (Sat Jul 3 18:27:13 2021), 站内
:
: 这个不是事。对于内部无 await 的,编译器可以很自动化地编译成普通函数。
:
: 显式 async 的问题很大,你们其实都没考虑过,它无法穿透系统定义的函数。
:
: 比如 Proxy 定义的 getter/setter,如果要实现一个需求,某个 obj 的 property 由远程决定是否存在,以及设置 property 的值,会自动地修改远程的值。显然 Proxy 是做不到的。这个功能常用于 python 的 rpc, python 应用 gevent 后可以做到而 js 不行。
:
: 想要实现上面那个需求的话,js 就不得不再定义一个 Proxy 的 async 版本了。
:
: 这就是我为什么说 js 是一门垃圾语言的原因。
:
: 【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: : 哪怕io操作都要协程化,为啥所有函数都要async?我写个1加1纯计算函数也要进事件循环?
:
:
: --
: 灭绝人性啊
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 124.72.119.*]
--
FROM 123.120.180.*