Node.js 中使用 Promise 实现事件循环异步操作
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); });
原文地址: https://www.cveoy.top/t/topic/qbp2 著作权归作者所有。请勿转载和采集!