V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wyc9296  ›  全部回复第 1 页 / 共 1 页
回复总数  19
12 天前
回复了 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)
```
12 天前
回复了 wyc9296 创建的主题 Node.js Promise 和异步回调和我想的不一样
@thinkershare 我是直接在主机运行的 nodejs 呀、没有在浏览器上。我理解的是,它是单线程的,所以所有任务都需要排队,我对它的排队顺序有点懵。
12 天前
回复了 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 的使用。它先执行了一个耗时的计算,然后在计算完成后才执行后续的操作。
如果你还有其他问题,欢迎继续提问!
12 天前
回复了 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 ,就是钱少一点
2019-07-10 15:12:32 +08:00
回复了 wyc9296 创建的主题 Python sublimeText3 的 REPL 怎么在虚拟环境下 run current file? - Python
研究了半天,我自己暂时的解决办法:
(##how to run current file in sublimeREPL with python virtualenv )
1. 记得修改一下 python_virtualenv_paths,把它设置成"~\\Envs"
2. 在 packages\sublimeREPL 中找到 lang_integration.py,把 PythonVirtualenvRepl 这个 class 中的
```
"cmd": [python_executable, "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"],改
```
改为
```
"cmd": [python_executable, "-u", "$file_basename"],
```
3. 快捷键设置:
```
{
"keys":["f5"],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command",
"args": {
"id": "python_virtualenv_repl",
"file": "config/Python/Main.sublime-menu"
}
},
```
打算从现在开始起不用 pycharm 了,速度太慢了。运行 flask app 时如果想停止,直接右键 kill 即可。
2019-04-19 19:22:23 +08:00
回复了 wyc9296 创建的主题 Python Cypthon 编译出来的 pyd 怎么添加版本号?
@SoulMelody 非常感谢!
@qwjhb 具体怎么操作呢。我现在的想法是用 python socket 写个简单的开发环境用的 web server,然后用它运行 cgi 脚本;把这个脚本用 pyinstaller 打包成 exe,用户打开后自动运行 web server 并打开浏览器。不知道和你的想法是不是一样?或者我的想法有什么不对的地方?
websocket 要一直双向通信吧; ajax 更简单好用,浏览器一有动作就可以调用后台的 Python,然后返回 json 之类的数据,支持同步或异步传输。
话说楼主你的树莓派是插的 sd 卡么,还是硬盘? sd 卡一直读写坏得快吧?
@XIVN1987
@tomczhen 试过了,原来是这样,哈哈。然后,还是刚才的问题,如果我要让它自动更新版本,该替换哪些文件呢?
@tomczhen 哦,回头试一下
@Hopetree 恩,各有利弊。虚拟环境的话我可以写个.bat ,自动进虚拟环境,然后在本机的浏览器打开开发环境的网页,超简单。唯一的缺陷就是东西太大了。
@tomczhen 你是说把图片拖到快捷方式运行的 dos 窗口,还是有其他拖拽方法?另外哦,因为我后面需要它自动更新程序的版本,按照你的打包方法,在你打包好的文件夹里面有哪些必要文件需要更新?
@Hopetree 还没申请到服务器呢。而且就是一个本地的小工具,如果要是给公司外部的客户用呢?
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2498 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 15:39 · PVG 23:39 · LAX 08:39 · JFK 11:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.