Вопрос по Node.js



  • Этот код работает в WebStorm

    var Client = require('node-poplib-gowhich').Client;
    var client = new Client({
      hostname: 'pop-mail.outlook.com',
      port:  995,
      tls: true,
      mailparser: true,
      username: 'xxxxxxxxx',
      password: 'yyyyyyyyy'
    });
    
    client.connect(function() {
      client.retrieveAll(function(err, messages1) {
        messages1.forEach(function(messageF) {
          console.log(messageF.html);
        });
        client.quit();
      })
    })
    
    

    В БАС он выполняется, но ничего в лог не выводит. Более того после "client.connect(function() {" можно написать любой текст и за ошибку его не воспримет. В чем у меня косяк?



  • @qash Действие синхронизация Вам знакомо? В экшене node.Асинхронный код надо оборачивать в промис и использовать await. Иначе поток продолжит работать не дожидаясь результата.



  • await (new Promise((resolve, reject) => {
    	var Client = require('node-poplib-gowhich').Client;
    var client = new Client({
      hostname: 'pop-mail.outlook.com',
      port:  995,
      tls: true,
      mailparser: true,
      username: 'xxxxxx',
      password: 'yyyyyy'
    });
    client.connect(function() { 
      client.retrieveAll(function(err, messages1) {
        messages1.forEach(function(messageF) {
          console.log(messageF.html);
        });
        client.quit();
      })
    })
    
    	resolve()
    }));
    
    

    результат тот же



  • @qash Беда....

    var Client = require('node-poplib-gowhich').Client;
    var client = new Client({
      hostname: 'pop-mail.outlook.com',
      port:  995,
      tls: true,
      mailparser: true,
      username: 'xxxxxx',
      password: 'yyyyyy'
    });
    
    await (new Promise((resolve, reject) => {
    	client.connect(function() { 
    	  client.retrieveAll(function(err, messages1) {
    		messages1.forEach(function(messageF) {
    		  console.log(messageF.html);
    		});
    		client.quit();
    	  })
    	resolve()
    	})
    }));
    


  • совсем беда.... Только все-равно не работает(
    даже до сюда не доходит 0_1549444900449_Screenshot_5.png



  • @qash Смотрите доки от модуля. Я не смотрел. Просто вслепую сделал.


Log in to reply