- 主题:现在你们写 js 还会在发布的时候转成 es5 吗?
promise ... 哈哈哈哈,一直沿用到最近。
其实,async之类的以前也会,一直没换。。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: await 多好用啊。。为啥现在才用。
: 我现在发现缺少 async/await 的话我都不会写界面程序了。
--
FROM 123.127.43.*
我这没这等需求。
npmjs你搜一下,肯定有,不过能不能完全满足你需求就要看设计者跟你思路是否
一致了。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: js coroutine 有什么好用的库推荐一下吗?
: 如果没有,我打算自己写一个。估计要花掉两三个周末时间,如果有的话我就不用浪费这个时间了。
--
FROM 123.127.43.*
promise 管理状态不容易吧。。
我这几天又在写 js 了,发现 js fiber/promise 都有个坏处就是不方便中断任务。
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: promise ... 哈哈哈哈,一直沿用到最近。
: 其实,async之类的以前也会,一直没换。。
--
FROM 110.85.22.*
用rxjs吧... react工具栈的话用saga也不错, promise在处理较复杂的业务逻辑时有些太初级了
【 在 hgoldfish (老鱼) 的大作中提到: 】
: promise 管理状态不容易吧。。
: 我这几天又在写 js 了,发现 js fiber/promise 都有个坏处就是不方便中断任务。
--
FROM 58.246.6.*
我很讨厌那种回调又回调的写法。。新时代 goto.
async/await 才是王道啊。
【 在 pangwa (学门手艺,混口饭吃.) 的大作中提到: 】
: 用rxjs吧... react工具栈的话用saga也不错, promise在处理较复杂的业务逻辑时有些太初级了
--
FROM 110.85.22.*
那就用saga吧, 和async await比较接近,
但正像你说的, async await不支持job的cancel, 这个是硬伤, 当然rxjs要解决的问题也不止这些, 像背压啥的也在它的范围内了
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 我很讨厌那种回调又回调的写法。。新时代 goto.
: async/await 才是王道啊。
--
FROM 58.246.6.*
这个是 http client 库啊。。我想处理的不止是网络请求。而且我想用 async/await,而不是 promise/generator.
如果我写一个支持 cancel 的 coroutine 库,是不是 js 社区的空白?
【 在 pangwa (学门手艺,混口饭吃.) 的大作中提到: 】
: 那就用saga吧, 和async await比较接近,
: 但正像你说的, async await不支持job的cancel, 这个是硬伤, 当然rxjs要解决的问题也不止这些, 像背压啥的也在它的范围内了
--
FROM 110.85.22.*
这个你得实现一套自己的语法了吧, js的异步本身不就和coroutine很像了么, 不太确定你想做成啥样0,0...
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 这个是 http client 库啊。。我想处理的不止是网络请求。而且我想用 async/await,而不是 promise/generator.
: 如果我写一个支持 cancel 的 coroutine 库,是不是 js 社区的空白?
--
FROM 58.246.6.*
而且async await本身可以理解成promise的语法糖, 没啥特别的啊... async await都和promise兼容, 无非是写法的区别
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 这个是 http client 库啊。。我想处理的不止是网络请求。而且我想用 async/await,而不是 promise/generator.
: 如果我写一个支持 cancel 的 coroutine 库,是不是 js 社区的空白?
--
FROM 58.246.6.*
不用自己的语法啊。。我打算这么搞:
// 请求后端并设置超时。
let c = $spawn(async () => {
let resp = await http.get(url, query);
console.debug(resp.json);
});
setTimeout(1000, c.kill);
// 向后端发起多个请求
let c = $map(async (url) => {
return await http.get(url).json;
}, urls);
console.debug(c.result);
// 等待UI事件
$spawn(async () => {
// 省得写一堆的 event bind.
let button = $wait("click", ["btn-add-user", "btn-query"]);
if (button === "btn-add-user") {
let user = await showUserDialg();
if (user) addUser();
} else if (button == "btn-query") {...}
});
// 等待数据变化
$spawn(async () => {
let [key, value] = $wait(this.data); // 使用 Proxy 监听 this.data
if (key == "username") {
$("lable-username").html(value);
} else if (...) {}
});
【 在 pangwa (学门手艺,混口饭吃.) 的大作中提到: 】
: 这个你得实现一套自己的语法了吧, js的异步本身不就和coroutine很像了么, 不太确定你想做成啥样0,0...
--
FROM 110.85.22.*