V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Plumbiu  ›  全部回复第 3 页 / 共 5 页
回复总数  87
1  2  3  4  5  
@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 我搜到的都是要额外安装别的包....不过现在倒是直接可以执行命令行创建计划任务了
https://github.com/Plumbiu/twid ,自己写的推特的爬虫,用的浏览器模拟,测试了几十次了,应该不会封号
@cat 最开始也是做成服务的,但是 node-windows 那个库不是很稳定,js 里的计时器好像没法运行
@yushiro windows 重启之后 pm2 服务就停掉了,自启动的话还要写 bat 脚本
@aks 好建议,期末考完就做这个
@Plumbiu 现在可以了
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3595 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 04:23 · PVG 12:23 · LAX 20:23 · JFK 23:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.