如何解决来自另一个功能的承诺

How to resolve a promise from another function

我不知道如何解决来自其他函数的承诺。

1.如何通过发送邮件告诉blabla()'mail received'?

  1. 此电子邮件模块管理邮件,当我们收到电子邮件时它会触发 'new'。

mail.on('new', function(mail) {})

  1. 此模块执行任务,在某些时候必须等待 the_mail,然后才能继续。

    function blabla() {
        [.. I do stuff ..]
        console.log('now we must wait for a new mail')
        const the_mail = await waiting_for_mail()
        [.. I can continue stuff (I have the mail) ..]
    }
    
    • 这两个模块必须分开,它们执行 != 任务。
    • 第一个管理邮件,第二个管理短信。
    • waiting_for_mail() 没有定义,我想我必须使用这个逻辑。

好吧,我在这里没有什么可以继续的,但这里有一个我可以收集到的建议:

function waiting_for_mail() {
    return new Promise(resolve => {
        mail.once('new', resolve);
    });
}