realJamespond 最近的时间轴更新
realJamespond

realJamespond

V2EX 第 572138 号会员,加入于 2022-02-08 16:40:01 +08:00
今日活跃度排名 18921
realJamespond 最近回复了
3 天前
回复了 LawlietZ 创建的主题 程序员 4202 年了,前端开发一定必须要用 mac 吗
30 以下 win (打游戏,折腾),30 以后无脑 mac (已无游戏需求)
6 天前
回复了 anUglyDog 创建的主题 程序员 这段 js 代码的解释
for(;;)和 while true 不是一个意思?
可以用 blob 分片上传大文件
vue 就是 angular+react
@wentx 公钥放 u 盘,每次登录提示用户通过表单打开公钥?
6 天前
回复了 anUglyDog 创建的主题 程序员 这段 js 代码的解释
刚好昨天撸了个类似的
```
export type Task = { (name: string): Promise<void> };
export async function queueStart(tasks: Task[], size = 1) {
const queue = (function* () {
for (let i = 0; i < tasks.length; i++) {
yield tasks[i];
}
})();
let finished = false;
const handle = async (name: string) => {
for (;;) {
const { done, value: task } = queue.next();
if (done) {
finished = true;
}
if (finished) {
break;
} else if (task) {
await task(name);
}
}
};
const joinAll: Promise<void>[] = [];
for (let i = 0; i < size; i++) {
const name = `thread-${i}`;
const join = handle(name).then(() => {
console.log(name, "end", new Date().toLocaleTimeString());
});
joinAll.push(join);
}
// return Promise.all(joinAll);
for (const join of joinAll) {
await join;
}
}

export function getTask(promise: Promise<unknown>): Task {
return async (name) => {
const begin = Date.now()
console.log(name, "task begin");
await promise;
console.log(name, "task done", (Date.now() - begin)*0.001);
};
}

// getTask(Promise.resolve(1))
// getTask(Promise.resolve("abc"))
// getTask(Promise.resolve({}))
```
FreeMarker 了解下
15 天前
回复了 junwind 创建的主题 git 大家好, mac 上有哪款 git GUI 工具好用呢?
直接用命令,至少没看到有哪个 gui 能实现跨分支 checkout 某几个文件
15 天前
回复了 iszengmh 创建的主题 React 为什么我感觉 react 很难学
就 useeffect 和 usestate 一把梭,很难么?
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1033 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 22:26 · PVG 06:26 · LAX 15:26 · JFK 18:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.