V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  morethansean  ›  全部回复第 81 页 / 共 127 页
回复总数  2529
1 ... 77  78  79  80  81  82  83  84  85  86 ... 127  
@limhiaoing 而且由于我不太清楚 C# 里面的 async/await 的实现,然而我简单地搜索了一下,包括 http://developer.51cto.com/art/201305/393992_all.htm 这篇文章,这样如果抛开 nodejs 和 C# 单 /多线程的区别的话,看起来并没有什么不同。文章中有提到 `await 关键处的代码片段是在线程池线程上执行` 并不是 GUI 线程。再者,搜了一下知呼,里面也提到 await 开始的那一刻 async 函数就返回了,其实都是编译器的语法糖而已。是我理解有问题吗……感觉不是很懂你的意思了……
@limhiaoing 兄弟你要结合上下文不是这么断章取义的,我说的是作为 Promise 的一个 API , then 的执行一会儿是同步一会儿是异步。

给你一个 API readFile 然后告诉你这个 API 有可能是同步的有可能是异步的?

写 Promise 链的时候就不会关心你的业务逻辑具体是怎么执行的,你从缓存里直接读也好你发请求异步读也好,只是在我 method chain 中的一环而已我还要去关心你是同步异步的具体做了什么事?而且这里还并没有显示能够看到是同步还是异步的方法,只是做了一个函数调用而已。

Promise 本来是用来干嘛的,要解决什么问题,所以他这么设计了,把不稳定性和混乱引进来强行可以卡 tick 做很多的事情,关键是这些事情本来不是这么去做的。
@dou4cc 还是那句话啊,你大概在理解上有一点偏离了……

Promise 的设计本来就是需要保证异步的,不然这对使用者来说有极大的不稳定性需要考虑过于复杂的情形,甚至在有些场景下这将对整个代码结构都带来灾难性的破坏。 Promise then 本来就不是阻塞的不是同步代码,本来就是你所谓的 "tick" 模式。

then 把一个任务加入了队列,你的外部世界的语句本来就没处在 Promise 的范畴内,自然和这个任务也没有关系。

我们来看看你想要的结果,你想要的是:

- 对一个 Promise 调用 then(f),如果这个 Promise 已经 resolve 了,那么 f 是立即执行的而不是被加入队列等当前的任务完成再执行。

如开头所说不这样的原因是,这让 Promise 变得不确定,实际生产中这会带来很大的问题( V2EX 上就会有一大堆人开始批判这个坑),没人会想用 Promise 。而且说实话,一个函数一会儿同步一会儿异步,这很怪异,我没见过。

可是你偏想要这么做,要提供一个 then2 ,满足这样的效果可以么?可以,当然可以啊(扩展一个 Promise 类,保存 Promise 的状态,调用 then 的时候检查一下然后做处理。对于 await ,虽然可能需要自己写处理器 polyfill 一下,在真正调用 await 之前检查一下 Promise 的状态),可是你真的需要这么做么?这就是大家关注的问题所在,我们可能认为你本来并不需要这样做(比如楼上有人提到你可能需要一个全局的 async 等等),所以认为你的理解是有偏差的。

你所谓的各种卡 "tick" 的好处,不是 then(f) 可以一会儿同步一会儿异步的理由。
await 怎么对 tick 有什么浪费了……
本质上这里涉及到的还是 Promise 的概念, Promise 的 then(f, r) 保证了 f 一定不是立即执行的(看起来像是异步),而是被立即入队。要是 then 一会儿是同步的一会儿是异步的,这对整个系统来说都是灾难好吗?
你都知道 async 关键字的意义,那么如果一定要实现你想实现的,肯定要把你的整个状态机都包含在 async function 内部啊……你想要用 async 的语法糖来让你的代码更方便一些,一会儿又在语法糖外面抱怨语法糖。你所谓的性能影响是因为你用了错误的方式造成了一些“意料之外”的结果,光是 then 将 f 入队本身没有什么严重的开销。
... 楼主, seriously?
2017-02-13 19:22:44 +08:00
回复了 stlee 创建的主题 Apple 高配台式 VS macbook pro
是我就选台式 23333333
2017-02-11 16:28:33 +08:00
回复了 c0mmand 创建的主题 Android 为了让 APP 及时推送通知,不能清后台?
@skylancer 你在说啥?墙外 play service 耗电过高?大兄弟,你有墙外耗电过高我还有墙外连列表里都不出现呢。退一万步,人家那么多人墙内都没这么高你有什么好说的啊?我 6S 还能给你截出来耗电列表里啥都没有很正常一个小时掉 30%呢……抓着一个个例有什么好说的?墙外随便找个手机 play service 动不动就 40% 耗电还要不要卖手机了?当消费者是傻的?真是看不惯你口气,回答问题也不对着点子上只在那里说自己没说错是对的然后酸里酸气还要打脸,都不知道你在打谁……直接 b 了你慢慢回复吧。
2017-02-10 17:35:51 +08:00
回复了 c0mmand 创建的主题 Android 为了让 APP 及时推送通知,不能清后台?
@winglight2016 当然是一直翻墙状态了……不然你叫我们这一大堆用亲儿子的怎么用手机……
2017-02-10 15:52:27 +08:00
回复了 c0mmand 创建的主题 Android 为了让 APP 及时推送通知,不能清后台?
@winglight2016 Play Services 出现在耗电列表里过高一般只有一种可能:梯子不正常。
2017-02-10 12:14:03 +08:00
回复了 c0mmand 创建的主题 Android 为了让 APP 及时推送通知,不能清后台?
@skylancer 杀掉应用跟 force stop 并不等价。
2017-02-10 10:40:20 +08:00
回复了 c0mmand 创建的主题 Android 为了让 APP 及时推送通知,不能清后台?
@skylancer 另外讨论 GCM 就讨论 GCM ,扯 FCM 进来干吗?你给的链接我早就看过了。
2017-02-10 10:39:46 +08:00
回复了 c0mmand 创建的主题 Android 为了让 APP 及时推送通知,不能清后台?
@skylancer 应用被杀掉可以 GCM 唤醒, GCM 无法唤醒的是处于 stopped 状态的应用。

Stopped state is:

when the app is initially installed (before the user runs something in the app) or
after a Force Stop.

你所谓的杀掉是什么意思?
2017-02-10 10:13:03 +08:00
回复了 c0mmand 创建的主题 Android 为了让 APP 及时推送通知,不能清后台?
@skylancer 我觉得你们指的不是一个东西。人家说的拉起是说应用进程被杀掉或者例如 doze 掉的情况下(非 stopped ) gcm 能唤醒,就是说即便完全没有 background service 也能唤醒。你说的是通知的显示其实还是应用自己 code 弄出来的,这在 stopped 的状态下是不行的( force stop ).
2017-02-10 09:39:49 +08:00
回复了 ydxred 创建的主题 V2EX 为什么 V2EX 没有手机 app 啊
@Livid PWA 哇!就能在 dev 版的 Chrome 里直接安装成 APP 了~
2017-02-03 19:18:18 +08:00
回复了 tangsl 创建的主题 硬件 电脑休眠会自动唤醒,怎么办?
@Tyanboot 可能不同鼠标键盘不一样吧...我的只要移动一下就会唤醒...所以我都关掉了唤醒权限...
2017-02-03 19:14:31 +08:00
回复了 tangsl 创建的主题 硬件 电脑休眠会自动唤醒,怎么办?
@misaka19000 到底睡眠还是关机,睡眠的话默认情况下按一下键盘或者鼠标就唤醒了啊...默认允许唤醒都是打开的...关机只能按电源键开机吧...
2017-02-03 19:13:32 +08:00
回复了 tangsl 创建的主题 硬件 电脑休眠会自动唤醒,怎么办?
@misaka19000 可以查看事件日志找到唤醒的原因,然后在设备管理器里把允许此设备唤醒勾选掉。一般都是网卡...
2017-02-03 17:10:20 +08:00
回复了 hzwei 创建的主题 问与答 对路由器一窍不通,求助帮忙推荐一款
怎么觉得楼上的有点刷新我的三观?偶尔劫持劫持是什么鬼啊...我这一生也买了好几个路由器了基本也就 100 多块钱也没有遇到过劫持啊...这不是底线么?还是在开玩笑(毕竟我对路由器也不太了解...
2017-02-03 17:04:12 +08:00
回复了 WingJH 创建的主题 反馈 今天用 chrome 登录 v2ex。。。
感觉都要成日经贴了,过去几个月到现在起码几十个这样的帖子啊...请善用搜索啊...

升级你的 Chrome ...
2017-02-03 15:38:15 +08:00
回复了 wxcszh 创建的主题 宠物 你们是喜欢猫还是狗呢?
喜欢狗。
养的猫。
应该不会养狗 2333 毕竟没有时间溜啊。
1 ... 77  78  79  80  81  82  83  84  85  86 ... 127  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5167 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 56ms · UTC 08:20 · PVG 16:20 · LAX 01:20 · JFK 04:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.