npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

lock-func

v1.0.11

Published

可以锁定一个函数同时内只能执行一个

Downloads

4

Readme

延时队列

一个延时队列 , 保证同一个时间内只要一个函数执行,

var lock_func = require("lock_func");

var lock = lock_func(listSize, mustDone );
//listSize---传最长的等待队列长度 ; 防者内存泄漏
//mustDone bool---第二个参数表示是否需要执行完成才追加队列

let p=lock(func,argu,timeout=-1);
//func--- 传函数 及函数调用参数
// 同一个时间内只能有一个func执行

此包缺陷:缺点无法做到 优先级别; 版本1.09后 加入超时回调函数
//可以无视时间直接执行下一步

加入 等待时间执行完才可以 继续追加队列的 标志

/**
 * 
@param listSize — 队列长度
@param mustDone — 需要等待完成追加
 */
lock_func(listSize: number, mustDone: boolean): <T, R>(func: (arg0: T) => R, argu: T, timedOut: number) => Promise<R>

返回闭包函数

并发队列

function SimpleQueue(job: () => Promise<any>, maxTime: number, queueNum: number): Promise<void>

即在以并发 queueNum 数对 job 执行maxTime 次数;
测试样例见 testQueue.js ...(无语..10行代码的函数测试代码是3倍.)