V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Plumbiu  ›  全部回复第 1 页 / 共 3 页
回复总数  52
1  2  3  
32 天前
回复了 sudoy 创建的主题 Node.js nodejs 用户为什么这么爱变来变去呢?
版本不对锁版本呗
试试开发一下 antd ,看看卡不卡
@qrobot 我也有点不确定啊,感觉如果是两个请求在队列里,前面不知道会不会存在队头阻塞的情况,应该是你说的对,post 接口返回的时间不一样,可能执行顺序不同
@qrobot 哥你看一下 js 中的异步队列
@Plumbiu 如果用了计时器,定的时间不同另算
@qrobot 异步执行只有并行情况下结果才不确定吧,楼主都是依次调用 post 接口,按理来说异步队列里面也是依次执行的
@qrobot 是有闭包出现,但是主要的问题还是作用域吧,不是闭包出现了问题
@qrobot 类似的啊,var 没有块级作用域,你这个代码就会等同于:

```js
var i

// 同步任务
i = 0 -> 定时器等待打印 i
i = 1 -> 定时器等待打印 i
// ...
i = 100

// 异步任务
console.log(i) // i 为 100 ,打印 100 次
```

如果 var 改为 let

```js
// 同步任务
{ let i = 0; } -> 定时器等待打印 i
{ let i = 1; } -> 定时器等待打印 i
// ...
{ let i = 100; }
// 异步任务(在每个块级作用域执行)
{ console.log(i); } // i = 0
{ console.log(i); } // i = 1
```
@qrobot 效果都一样吧,我感觉楼主应该是想将一个文本中的图片地址替换成另外一个地址,这个最开始做不就应该写在循环外?没搞清楚楼主的做法
@qrobot forEach 不能用 async/await 的,我的理解就是作用域问题,看我上一个回答
我的理解是,var 不存在块级作用域,如果 oldcontent 写在 for 循环内部,那么就相当于创建了很多次 oldcontent ,就像下面这样

```js
for (var i = 0; i < 100; i++) {
var a = 200
a = a - i
}
// 等同于
var a;
// 第一次循环
a = 200
a = a - 0
// 第二次循环
a = 200
a = a - 1
// ....
// 第一百次循环
a = 200
a = a - 99
```

所以只有最后一次生效了
@qrobot 不太理解为啥是闭包
@kiic 已经用 windows 计划任务实现了,不过还是感谢分享
@components 是啥,不应该是 @/components
@june4 vue 、tsx 这些框架语法支持就很费劲,还要用 rust 重新解析一遍模板,更何况还有 Angular 、svelte 一大堆框架
@june4 不可能上位的,就插件那一块要用 rust 编写,生态就很难建立起来
一楼正解,之前写的一个 nodejs 脚本也是通过任务计划程序做到的

https://github.com/Plumbiu/record-your-life/blob/main/packages/record-your-life/src/index.ts#L110
一看最近 commit 两年前,结果 issue 回复还挺活跃的,不看 release 确实有点迷惑....
@yushiro 我搜到的都是要额外安装别的包....不过现在倒是直接可以执行命令行创建计划任务了
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1404 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 23:40 · PVG 07:40 · LAX 16:40 · JFK 19:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.