【发布时间】:2019-03-21 03:50:33
【问题描述】:
我在处理 Promise 和导出到另一个文件时遇到问题。我需要从一个文件中获取一些数据并将其返回给另一个文件,但我无法使其正常工作。我做错了什么?
// Imap.js
var getCode = new Promise(function(resolve, reject) {
imaps.connect(config).then(function(connection) {
return connection.openBox('INBOX').then(function() {
var searchCriteria = [
'UNSEEN'
];
var fetchOptions = {
bodies: ['HEADER', 'TEXT'],
markSeen: false
};
return connection.search(searchCriteria, fetchOptions).then(function(results) {
var subjects = results.map(function(res) {
return res.parts.filter(function(part) {
return part.which === 'HEADER';
})[0].body.subject[0];
});
console.log(subjects[0]);
resolve(subjects[0]);
});
});
});
});
exports.getCode = getCode;
var imap = require('./imap.js');
impa.getCode.then(function(subj) {
console.log(subj);
})
【问题讨论】:
-
在 Promise 执行器中包含
.then无疑是 Promise 构造函数反模式的标志 -
promise 中的
imaps和config是什么?似乎随机未定义的变量可能会导致问题
标签: javascript ecmascript-6 promise