
Security News
Open VSX Unblocks Extension IDs Used in Malware Campaign
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.
@tb-app/pub-sub
Advanced tools
@tb-app/pub-sub这是一个基于 JavaScript 的发布订阅库。
yarn add @tb-app/pub-sub
// 或
npm i @tb-app/pub-sub
订阅名称为 name 的消息,并返回字符串 token。token 可以用来取消产生此 token 的订阅
import { subscribe, unsubscribe } from '@tb-app/pub-sub';
const callback = function (name, data) {
console.log(name, data);
};
const token = subscribe('say', callback);
// 可以通过 token 取消订阅
unsubscribe(token);
发布名称为 name 的消息,并返回布尔值。true, 表示成功触发指定消息的回调。 false, 要触发的消息不存在或消息没有回调。
import { subscribe, publish } from '@tb-app/pub-sub';
const callback = function (name, data) {
console.log(name, data);
};
const token = subscribe('say', callback);
setTimeout(() => {
publish('say', 'hello !');
}, 1000);
清除指定名称的消息订阅
import { subscribe, clearSubscriptions } from '@tb-app/pub-sub';
const callback = function (name, data) {
console.log(name, data);
};
subscribe('say', callback);
setTimeout(() => clearSubscriptions('say'), 1000);
清除指定的名称或 token 或函数对应的订阅。返回结果为布尔值,true 表示成功取消订阅。false,表示取消失败(订阅不存在)。
import { subscribe, unsubscribe } from '@tb-app/pub-sub';
const callback = function (name, data) {
console.log(name, data);
};
const token = subscribe('say', callback);
setTimeout(() => {
// 通过消息名称取消订阅
unsubscribe('say');
// 通过 token 取消订阅
// unsubscribe(token);
// 通过函数取消订阅
unsubscribe(callback);
}, 1000);
清除所有订阅
clearAllSubscriptions();
得到指定名称消息的所有回调函数数组
import { subscribe, unsubscribe } from '@tb-app/pub-sub';
const callback = function (name, data) {
console.log(name, data);
};
subscribe('say', callback);
// 返回 [callback]
getSubscriptions('say');
订阅消息,但是相同的消息名称,只能订阅一次
import { subscribeOnlyOne } from '@tb-app/pub-sub';
const callback = function (name, data) {
console.log(name, data);
};
subscribeOnlyOne('say', callback);
// 下面代码将会报错
// subscribeOnlyOne('say', callback);
订阅消息,但是回调只会被调用一次,即调用后会立即取消订阅
import { subscribeOnce } from '@tb-app/pub-sub';
const callback = function (name, data) {
console.log(name, data);
};
subscribeOnce('say', callback);
setTimeout(() => {
publish('say', 'hello !');
// 第二次 publish 不会触发 callback
publish('say', 'hello !');
}, 1000);
FAQs
The npm package @tb-app/pub-sub receives a total of 8 weekly downloads. As such, @tb-app/pub-sub popularity was classified as not popular.
We found that @tb-app/pub-sub demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.