當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript cote.Publisher類代碼示例

本文整理匯總了TypeScript中cote.Publisher的典型用法代碼示例。如果您正苦於以下問題:TypeScript Publisher類的具體用法?TypeScript Publisher怎麽用?TypeScript Publisher使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Publisher類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: eventEmitter

    eventEmitter() {
        const quitter = new cote.Requester({ name: 'Quitter' });
        quitter.onAny(() => process.exit);

        const indecisive = new cote.Responder({ name: 'Indecisive' });
        const callback = <T>(x: T) => Promise.resolve(x);
        indecisive.on('choice', callback);
        indecisive.off('choice', callback);

        const techno = new cote.Publisher({ name: 'Techno' });
        techno.removeAllListeners();

        const village = new cote.Subscriber({ name: 'Village' });
        const doHelp = () => { };
        village.many('wolf', 2, doHelp);
        village.emit('wolf');
        village.emit('wolf');
        const emptyArray = village.listenersAny();
        village.emit('wolf'); // no reaction

        const eternity = new cote.Sockend(null as any, { name: 'Eternity' });
        const handler = () => {
            if (Math.random() === Number.MIN_VALUE) {
                console.log('It happened.');
                eternity.offAny(handler);
            }
        };
        eternity.addListener('request', handler);

        const monitor = new cote.Monitor({
            name: 'Monitor',
            port: 8025
        });
        monitor.setMaxListeners(1);
        monitor.once('foobar', () => {
            monitor.removeAllListeners();
            monitor.once('foobar', () => {
                console.log('Not a warning.');
            });
        });
    }
開發者ID:AlexGalays,項目名稱:DefinitelyTyped,代碼行數:41,代碼來源:cote-tests.ts

示例2: setInterval

        setInterval(() => {
            const event = {
                type: 'randomUpdate',
                payload: {
                    val: Math.floor(Math.random() * 1000)
                }
            };

            console.log('emitting', event);

            randomPublisher.publish('randomUpdate', event);
        }, 3000);
開發者ID:AlexGalays,項目名稱:DefinitelyTyped,代碼行數:12,代碼來源:cote-tests.ts

示例3: publisher

    publisher() {
        const randomPublisher = new cote.Publisher({
            name: 'Random Publisher',
            namespace: 'rnd',
            key: 'a certain key',
            broadcasts: ['randomUpdate']
        });

        setInterval(() => {
            const event = {
                type: 'randomUpdate',
                payload: {
                    val: Math.floor(Math.random() * 1000)
                }
            };

            console.log('emitting', event);

            randomPublisher.publish('randomUpdate', event);
        }, 3000);
    }
開發者ID:AlexGalays,項目名稱:DefinitelyTyped,代碼行數:21,代碼來源:cote-tests.ts


注:本文中的cote.Publisher類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。