V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wunonglin  ›  全部回复第 27 页 / 共 162 页
回复总数  3228
1 ... 23  24  25  26  27  28  29  30  31  32 ... 162  
2022-09-15 10:24:51 +08:00
回复了 Rocketer 创建的主题 Angular 为什么 Angular 的一些组件仍在使用 Promise?
@tedding #3

应该是我想错了。正确的应该是你这样的,因为 promise 可以直接执行,不需要 subscribe ,在跳转路由的时候通常不需要订阅操作而是直接执行,所以就才用了 promise 。

如果需要下一步操作的话直接用 rxjs 的 from 就可以了,两不误
2022-09-15 06:15:48 +08:00
回复了 Rocketer 创建的主题 Angular 为什么 Angular 的一些组件仍在使用 Promise?
代表这个 API 一定会有个结果,不存在取消的情况,也不存在订阅的情况
你能想到的人家厂商早想到了。只要用官方的充电器和线就不用考虑这个问题
这是我项目的一个例子

https://imgur.com/undefined
@dafuyang #4

indeterminate 的话,道理是相同的,无非就是设置 setProgressStart 和 setProgressEnd 罢了。组件要控制这个 progress 的状态可以用 vuex 等来控制就行了
2022-09-08 12:33:52 +08:00
回复了 asanelder 创建的主题 iPhone 反人性的灵动岛, 让人心慌的灵动岛
发春了?心慌什么
2022-09-08 10:21:17 +08:00
回复了 ltkun 创建的主题 问与答 v2er 可以直接 block 一个节点吗
@Innovatino #6 又是这个人哈哈哈哈哈哈哈哈哈哈
2022-09-08 04:11:09 +08:00
回复了 Valid 创建的主题 问与答 新 iPhone 发布前端又要骂街了
不用,有安全距离的 css ,如果刘海那套 api 不变的话,那就不用改任何代码
更佳建议:当在一个流程里,如果其中一个出现错误,应该取消其他请求,然后弹出错误提示。
可以看我写的这个例子: https://stackblitz.com/edit/lvabgg?file=index.ts
消息提醒也是同样的逻辑。

写到拦截器的话,一个流程如果有多次请求,那么错误提示就会一连贯出现好几个。

错误的:
```
async function init(){
await getOrganization() // openErrorMessage('getOrganization XXX')
await getType() // openErrorMessage('getType XXX')
await getList() // openErrorMessage('getList XXX')
}
```

正确的
```
async function init(){
try{
await getOrganization()
await getType()
await getList()
}catch(e){
openErrorMessage('init error: XXXX')
}
}
```
把组件业务做到全局 http 拦截器里是普遍的错误用法,在拦截器里做消息提示也是。

正确的应该是在请求所处的组件内做。

以路由加载进度举例:假如你的进度条写在 app.vue ,那么你应该就在 app.vue 监听路由变化,从而调整进度。

换到你的案例:
首先放弃在全局拦截器里做这种事。
先设定一个概念:“流程”,一个流程里是要做一些事的,比如有 N 个请求或其他同 /异步的 function 。

假设打开一个用户列表页面为一个流程,流程里分别请求:用户列表、组织树、分类树,如果你在全局拦截器做进度条的话,那么你在打开页面的时候,每个请求都会设置不同的数值,因为每个请求的时间不一样,导致进度条抖动。

所以,你应该一个流程中,只设置一个线性的值,0-100 递增,不应该第一个到了 70 了,第二个请求又给你设置一个 40 。


在初始化流程里,正确的例子应该是这样
```
async function init(){
setProgress(0)
await getOrganization()
setProgress(30)
await getType()
setProgress(70)
await getList()
setProgress(100)
}
```

在刷新用户列表的流程里,应该是这样
```
async function refresh(){
setProgress(0)
await getList()
setProgress(100)
}
```
2022-09-08 01:45:19 +08:00
回复了 Features 创建的主题 macOS 前端仔深度使用 m1 mac mini 15 天进行开发有感
动不动就说狂热粉,麻烦看完这些评论再看看自己的提的问题,很难不吐槽
2022-09-08 01:44:16 +08:00
回复了 Features 创建的主题 macOS 前端仔深度使用 m1 mac mini 15 天进行开发有感
node 还停在 14 ?早就支持了。难不成你的项目还不支持 16+么?
新电脑新系统当然用新的软件才能做到最好的适配啊,你去用一个以前的版本,人家好心就提供 arm 版,不提供也能理解啊。

adobe 系列早就有 arm 版本了。

真的,下软件都不去官网看看,真的算个开发?
2022-09-07 17:06:17 +08:00
回复了 zhoudaiyu 创建的主题 问与答 想做一个关于 etcd 故障演练,大家能提供一波思路吗?
开 ssh ,大伙帮你测
2022-09-07 17:05:36 +08:00
回复了 MrCsharp 创建的主题 深圳 你们小孩在深圳读小学了吗?
最后一代
2022-09-07 16:30:04 +08:00
回复了 zk4v2 创建的主题 问与答 售楼处泄露个人信息应该怎么合理维权?
@zk4v2 #6 可以让 B 提供“推”这个行为的截图等证据,如果记录删掉了那么你需要向腾讯索要一下相关记录
2022-09-07 16:25:38 +08:00
回复了 zk4v2 创建的主题 问与答 售楼处泄露个人信息应该怎么合理维权?
"A 楼盘某销售把我的手机号推荐给了 B 楼盘"

这个有相关证据么,微信对话,录像 /音,书面协议等?
1 ... 23  24  25  26  27  28  29  30  31  32 ... 162  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   959 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 21:07 · PVG 05:07 · LAX 13:07 · JFK 16:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.