nbin2008

nbin2008

V2EX 第 382912 号会员,加入于 2019-02-11 15:22:12 +08:00
根据 nbin2008 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
nbin2008 最近回复了
1 天前
回复了 nbin2008 创建的主题 JavaScript 请教大家一个问题, js,异步执行
@Projection 感谢,看的不是很懂,api 生疏
1 天前
回复了 nbin2008 创建的主题 JavaScript 请教大家一个问题, js,异步执行
@jifengg isFetching 作用,保证当时请求,始终只有一次
2 天前
回复了 nbin2008 创建的主题 JavaScript 请教大家一个问题, js,异步执行
@Lhcfl if (!canNext) return; 这里返回,就没有数据了
@Curtion 55 行调用,这里不是并发,整体代码很值得学习
谢谢楼上 v 友们的解答
2 天前
回复了 nbin2008 创建的主题 JavaScript 请教大家一个问题, js,异步执行
感谢大家帮忙,没来得及看,用 2 楼的方法解决了

const axios = require('axios');

let dataQueue = [];
let isFetching = false;

async function fetchData() {
if (isFetching) return;
isFetching = true;
try {
const response = await axios.get('https://example.com/api/data'); // 替换为实际的 API 地址
dataQueue = response.data.slice(0, 10); // 假设每次获取 10 条数据
} catch (error) {
console.error('Error fetching data:', error);
} finally {
isFetching = false;
}
}

async function getD() {
while (dataQueue.length === 0) {
if (!isFetching) {
await fetchData();
}
await new Promise(resolve => setTimeout(resolve, 100)); // 等待数据获取完成
}
return dataQueue.shift();
}

// 示例:同时执行 30 次 getD
(async () => {
const promises = Array.from({ length: 30 }, () => getD());
const results = await Promise.all(promises);
console.log(results);
})();
2 天前
回复了 nbin2008 创建的主题 JavaScript 请教大家一个问题, js,异步执行
@InDom 谢谢提供的思路,我想想
@shiny 谢谢,单进程
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1980 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 00:49 · PVG 08:49 · LAX 17:49 · JFK 20:49
Developed with CodeLauncher
♥ Do have faith in what you're doing.