Stworzyłem bardzo prosty serwer przy użyciu Meteora, aby wysłać wiadomość e-mail po przekroczeniu limitu czasu. Kiedy używam limitu czasu, wiadomość zostanie pomyślnie wysłana, ale zostanie zgłoszony błąd: [Error: Can't wait without a fiber]
.Meteor [Błąd: nie można czekać bez błonnika] po wywołaniu Email.send
Oto mój kod:
if (Meteor.isServer) {
Meteor.startup(function() {
// <DUMMY VALUES: PLEASE CHANGE>
process.env.MAIL_URL = 'smtp://me%40example.com:[email protected]:25';
var to = '[email protected]'
var from = '[email protected]'
// </DUMMY>
//
var subject = 'Message'
var message = "Hello Meteor"
var eta_ms = 10000
var timeout = setTimeout(sendMail, eta_ms);
console.log(eta_ms)
function sendMail() {
console.log("Sending...")
try {
Email.send({
to: to,
from: from,
subject: subject,
text: message
})
} catch (error) {
console.log("Email.send error:", error)
}
}
})
}
Rozumiem, że mogę używać Meteor.wrapAsync
stworzyć błonnika. Ale wrapAsync
oczekuje, że będzie wywołanie zwrotne, a Email.send
nie będzie używać wywołania zwrotnego.
Co należy zrobić, aby pozbyć się błędu?