解决不从承诺中退回

时间:2019-03-21 03:50:34

标签: javascript ecmascript-6 promise

我在处理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);
})

1 个答案:

答案 0 :(得分:0)

您在var imapimpa.then之间输入了错字:

var imap = require('./imap.js');
imap.getCode.then(function(subj) {
  console.log(subj);
});