wyc9296 最近的时间轴更新
wyc9296

wyc9296

V2EX 第 397923 号会员,加入于 2019-04-02 22:10:18 +08:00
wyc9296 最近回复了
26 天前
回复了 wyc9296 创建的主题 ? Node.js ? Promise 和异步回调和我想的不一样
@onlxx123 确实如你所说,谢谢你

```javascript
function myfunc1_timeout(){
return new Promise((resolve,rejects)=>{
setTimeout(()=>{
/*这一段是计算步骤开始*/
let i =1
for (let index = 1; index < 100000000; index++) {
i = 1
for (let index_j = 1; index_j < 100; index_j++) {
i *=index_j
}
}
/*这一段是计算步骤结束*/
resolve("my func1")
},0)

})
}

myfunc1_timeout()
.then(result=>{
console.log(result)
})
console.log(123456)
```
26 天前
回复了 wyc9296 创建的主题 ? Node.js ? Promise 和异步回调和我想的不一样
@thinkershare 我是直接在主机运行的 nodejs 呀、没有在浏览器上。我理解的是,它是单线程的,所以所有任务都需要排队,我对它的排队顺序有点懵。
26 天前
回复了 wyc9296 创建的主题 ? Node.js ? Promise 和异步回调和我想的不一样
问了一下微软的 Copilot ,感觉还是不够智能:

@我:下面的代码会先打印 123456 ,然后执行 myfunc1 函数的计算步骤,最后等待执行完毕后打印 my func1 。实际是先执行 myfunc1 函数的计算步骤,执行完毕后打印 123456 ,再打印 my func1 。讲一下你的理解。

@Copilot
这段代码的执行顺序如下:
首先,它会打印出 123456 。
然后,它会开始执行 myfunc1 函数的计算步骤。这个函数使用了 Promise 来处理异步操作。在这个函数中,它进行了一个非常大的循环计算,计算了 100000000 次,每次都将 i 乘以 index_j 。
当计算完成后,resolve("my func1") 会被调用,表示异步操作已经完成。
最后,它会打印出 my func1 。
实际上,由于 myfunc1 函数的计算步骤非常耗时,所以在执行完毕之前,它会先打印出 123456 ,然后再打印出 my func1 。
这段代码的目的是演示异步操作和 Promise 的使用。它先执行了一个耗时的计算,然后在计算完成后才执行后续的操作。
如果你还有其他问题,欢迎继续提问!
26 天前
回复了 wyc9296 创建的主题 ? Node.js ? Promise 和异步回调和我想的不一样
@lisongeee Promise 不是异步调用的解决方案么?你的意思是说它是同步执行的?所以可以说下面的代码,
myfunc1 和 myfunc2 是等价的吗?

```javascript
function myfunc1(){
return new Promise((resolve,rejects)=>{
/*这一段是计算步骤开始*/
let i =1
for (let index = 1; index < 100000000; index++) {
i = 1
for (let index_j = 1; index_j < 100; index_j++) {
i *=index_j
}
}
/*这一段是计算步骤结束*/
resolve("my func1")
})
}
function myfunc2(){
/*这一段是计算步骤开始*/
let i =1
for (let index = 1; index < 100000000; index++) {
i = 1
for (let index_j = 1; index_j < 100; index_j++) {
i *=index_j
}
}
/*这一段是计算步骤结束*/
return new Promise((resolve,rejects)=>{
resolve("my func2")
})
}
```
@fyq 感谢大佬,只是有点难啊?
2022-08-01 16:45:36 +08:00
回复了 wyc9296 创建的主题 ? Python ? Python for 循环的效率是这么差么?还是别的什么原因?
@nekochyan 没错,是因为你的电脑 CPU 比较给力。我的电脑在跑的时候 4 个核中的一个已经用了 100%了...你可以把循环次数*10 ,应该就能看出来明显的差别了。
应该就是和 @metaquant 大佬所说的和 python 的不可变对象有关系。用 @wxf666 兄弟的办法`a += str(i)+'->' `可以看到耗时虽然比不上 join ,但也明显降低了。
2022-07-19 16:07:49 +08:00
回复了 andyJado 创建的主题 ? 程序员 ? 你最常用的 CLI(命令行工具)是什么?
一个用 perl 的都没有,linux 下 perl one liner 挺好用的

1 125 12.5% perl
2 96 9.6% echo
3 76 7.6% ls
4 57 5.7% cd
5 55 5.5% python
6 40 4% cat
7 38 3.8% ps
8 33 3.3% rm
9 31 3.1% ping
10 28 2.8% top
2022-06-24 10:29:47 +08:00
回复了 luffy 创建的主题 ? 程序员 ? 写代码可能会经历的几个历程
楼主哪个阶段?
2022-06-22 16:56:32 +08:00
回复了 wyc9296 创建的主题 ? Linux ? top 的交互界面不能从管道获取输入吗
@chengxiao 我的第一行命令是可以在成功运行交互界面的,可以达到我的目的。只是想知道,是不是所有交互界面都不能从管道获取输入吗
2022-06-21 08:43:06 +08:00
回复了 fxjson 创建的主题 ? 程序员 ? 三十多岁的老码农出路在何方?
大公司都有 IT ,就是钱少一点
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2438 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 14:27 · PVG 22:27 · LAX 07:27 · JFK 10:27
Developed with CodeLauncher
? Do have faith in what you're doing.


http://www.vxiaotou.com