const EventEmitter = require('events');

const myEmitter = new EventEmitter();

const fetchData = async () => { return new Promise((resolve, reject) => { myEmitter.on('dataFetched', (result) => { resolve(result); });

    myEmitter.on('fetchData', () => {
        setTimeout(() => {
            myEmitter.emit('dataFetched', 'Data fetched successfully!');
        }, 2000);
    });

    myEmitter.emit('fetchData');
});

};

const processData = async (data) => { return new Promise((resolve, reject) => { myEmitter.on('dataProcessed', (processedResult) => { resolve(processedResult); });

    myEmitter.on('processData', (data) => {
        setTimeout(() => {
            myEmitter.emit('dataProcessed', data + '	And Data processed successfully!');
        }, 2000);
    });

    myEmitter.emit('processData', data);
});

};

(async () => { try { const result = await fetchData(); console.log(result); const processedResult = await processData(result); console.log(processedResult); } catch (error) { console.error(error); } })();

Node.js 中使用 async/await 简化事件循环:示例和解释

原文地址: https://www.cveoy.top/t/topic/qbn7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录