gpt4 book ai didi

javascript - 在 `Then` 内调用相同的 promise

转载 作者:行者123 更新时间:2023-12-01 04:23:13 24 4
gpt4 key购买 nike

我想知道你是否可以像这样调用同一个 promise 两次

//receiver is sent if the mail should be sent to someone else and will have a
//different email boy

const body = (req.body.receiver) === undefined ? 'regular mail': 'admin email body'

//the sendEmail Function takes to, from and body arguments
await sendEmail(req.body.requestedBy, someEmailAddress, body)
.then(info => {
console.log(info)
//a mail should be sent only to requester if req.body.receiver is present in the request
if (req.body.receiver) {
await sendEmail(req.body.receiver, someEmailAddress, body)
.then(res => {
console.log(res)
})
.catch(err => {
console.log(err)
})
}
return res.send(data)
})
.catch(err => {
console.log('Error:', err)
})

当然,这将被包装在一个异步函数中,因为我创建的 sendMail 函数返回一个 promise 。邮件通过 nodemailer 发送。

最佳答案

您在示例中所做的在技术上并不是两次调用相同的 promise 。您正在调用相同的函数两次,sendMail .每次调用该函数时,它都会返回一个新的 promise 。

所以答案是肯定的,即使它返回一个 promise ,您也可以多次调用该函数,因为它每次都会返回一个新的 promise 。

关于javascript - 在 `Then` 内调用相同的 promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60266945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com