Node.js如何利用异步提升任务处理速度-创新互联
今天在做一个小任务,需要调用阿里云的图像识别接口,对 62662 张照片进行场景识别,并将结果写到本地的 csv 文件中。
创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元磐安做网站,已为上家服务,为磐安各地企业和个人服务,联系电话:028-86922220因为任务很简单,没想很多就开始码。自从有了 async/await 之后,已经很久不写 callback 了,所以上手就写成这样:
本文所有代码均有简化,只保留关键过程
async fetchSceneTags(imagePath) { try { const result = await callAliyunAPI(imagePath); return result.errno === 0 ? result.tags : []; } catch(error) { return []; } } async function writeScene(paths) { for (let i = 0, len = paths.length; i < len; i++) { await tags = fetchSceneTags(paths[i]) writeToFile(tags); writeStdout(`${i} / ${len}`); } } function start() { const paths = loadPaths(); writeScene(paths); }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:Node.js如何利用异步提升任务处理速度-创新互联
标题网址:http://pwwzsj.com/article/cdscji.html