const EventEmitter = require('events');

const myEmitter = new EventEmitter();

function fetchData() { 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');

}); }

function processData(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);

}); }

fetchData().then((result) => { console.log(result); return processData(result); }).then((processedResult) => { console.log(processedResult); });

Node.js 中使用 Promise 实现事件循环异步操作

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

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