- 主题:把js全干掉,统一成ts,有没有搞头?
我前两年在dotnet版说起来过,现在的it行业有点像时尚行业,其实功能主体上都差不了太多,爱用哪个用哪个,自己喜欢就行,区别不太大了
不过似乎老鱼你对微软可是真爱...
【 在 hgoldfish 的大作中提到: 】
: 你误会了。我是友军啊。。
: c# 是门好语言。
: 唯一的问题是我已经有 java 了。
: ...................
--
FROM 123.116.203.*
真改成隐式await 的话,不能这么写了吧,不阻塞的地方需要加 spawn 之类的,类似 go routine ,只会遍地是 spawn,比原先的 async 还多
【 在 hgoldfish 的大作中提到: 】
: 把协程只用于网络编程是一种误解。
:
: 你说的 onxxx() 回调薅平也是一种应用:
: ....................
- 来自「最水木 for iPhone13,2」
--
FROM 115.192.188.*
async不就是promise的另一种写法吗?
【 在 javaboy 的大作中提到: 】
: 支持。
: 我觉得promise能把逻辑相关的代码整理到一起,而且和js的风格整体很搭,是个很棒的构造。然而async和await就没意思了。把好不容易组织到一起的代码再拆散掉。。。特别傻。
: js的这种async编程相当于把cronjob当eip用,会有巨大性能损失,神仙都没法jit。所以本来应该最小限度使用的。结果还特地弄两个关键字来鼓励这种写法。。。靠,就算2nm的cpu出来了,性能也经不起这么浪费啊。
: ...................
--
FROM 183.95.135.*
本来昨天挺热闹的,你直接把天聊死了。。。
【 在 a0123456789q (a0123456789q) 的大作中提到: 】
: async不就是promise的另一种写法吗?
--
FROM 27.91.71.*
啊?怎么办?我想把天聊活啊
【 在 xiaoju 的大作中提到: 】
: 本来昨天挺热闹的,你直接把天聊死了。。。
:
--
FROM 183.95.135.*
开个新话题吧
【 在 a0123456789q (a0123456789q) 的大作中提到: 】
: 啊?怎么办?我想把天聊活啊
--
FROM 122.225.220.*
运算符重载没有,原生uint64没有,ADT和pattern match 也没搞,这些都是对生产力提升很有用的,typescript 还差得远。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 标 题: Re: 把js全干掉,统一成ts,有没有搞头?
: 发信站: 水木社区 (Fri Jul 2 22:30:47 2021), 站内
:
: 安胖子搞的编程语言都是死命往里面添加特性,想到什么加什么,完全没有原则。在 c# 上面成功不了,可预见的是 typescript 也会昙花一现,跟 perl 一样,被扫进历史的垃圾堆。
:
: 【 在 libgcc (乞讨积分,求施舍,长期有效) 的大作中提到: 】
: : v8跟tsc融合,搞成原生支持ts的
: : 所有浏览器全改成原生支持ts
: : deno和node整合,原生支持ts
: : ...................
:
: --
: 灭绝人性啊
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 124.72.119.*]
--
FROM 111.197.233.*
用户完成登录才继续这种事,应该靠数据库搞定
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 标 题: Re: 把js全干掉,统一成ts,有没有搞头?
: 发信站: 水木社区 (Sat Jul 3 16:04:24 2021), 站内
:
: 协程底层就是 promise,只是个语法糖,怎么实现都不会破坏兼容性。
:
: 就算真的有问题,协程 IO API 是新的 API,使用这一套 API 的人,自然也应该使用协程兼容的业务锁。
:
: 话说,你们是怎么实现业务锁的。
:
: 我经常碰到要等用户完成登录才能继续后继调用的逻辑。目前我用协程 Event 很容易。
:
: 【 在 chaobill (若我离去,后会无期) 的大作中提到: 】
: : 用全局变量做的业务锁, 在协程里被修改使得锁失效
:
:
: --
: 灭绝人性啊
:
:
: ※ 修改:·hgoldfish 于 Jul 3 16:06:57 2021 修改本文·[FROM: 124.72.119.*]
: ※ 来源:·水木社区 mysmth.net·[FROM: 124.72.119.*]
--
修改:hgoldfish FROM 124.72.119.*
FROM 111.197.233.*
现在流行单页面,用户界面也有一部分这种业务逻辑。进入页面先显示登录对话框,登录完才能做其它操作,比如启动推送服务。还有小程序,需要先登录微信框架,获得微信的 token,才能继续其它请求,都需要有业务锁。
后端肯定没问题的。没登录所有请求都返回 401 就不用讨论了。
贴一代我们微信小程序的一段代码吧,比较直观:
onLoad() {
this.operations.spawnWithName("login", this.doLogin.bind(this));
this.operations.spawnWithName("load", async () => {
// 调用微信的 showLoading 转圈圈
await wx.showLoadingSync({
title: "正在登录",
mask: true,
});
let success = await app.loginEvent.wait();
if (success) {
this.showMessage("就绪");
} else {
this.showMessage("登录失败");
await wx.hideLoadingSync();
return;
}
this.doOthers(); // 后续的请求要求得到微信的 token.
});
},
【 在 superisaac (宅男总动员) 的大作中提到: 】
: 用户完成登录才继续这种事,应该靠数据库搞定
--
修改:hgoldfish FROM 110.81.40.*
FROM 124.72.119.*
//...
await wx.showLoadingSync //这里 "Sync" 不应该是 "Async" 吗?
//...
let success = await app.loginEvent.wait(); //这里有后面的wait,前面的await就没必要了吧?
【 在 hgoldfish 的大作中提到: 】
: 现在流行单页面,用户界面也有一部分这种业务逻辑。进入页面先显示登录对话框,登录完才能做其它操作,比如启动推送服务。还有小程序,需要先登录微信框架,获得微信的 token,才能继续其它请求,都需要有业务锁。
: 后端肯定没问题的。没登录所有请求都返回 401 就不用讨论了。
: 贴一代我们微信小程序的一段代码吧,比较直观:
: ...................
--
FROM 183.95.135.*