タイムアウト後に電子メールを送信するために、Meteor を使用して非常に単純なサーバーを作成しました。タイムアウトを使用すると、メッセージは正常に送信されますが、エラーがスローされます: [Error: Can't wait without a fiber].
これが私のコードです:
if (Meteor.isServer) {
Meteor.startup(function () {
// <DUMMY VALUES: PLEASE CHANGE>
process.env.MAIL_URL = 'smtp://me%40example.com:PASSWORD@smtp.example.com:25';
var to = 'you@example.com'
var from = 'me@example.com'
// </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)
}
}
})
}
Meteor.wrapAsyncファイバーの作成に使用できることを理解しています。ただしwrapAsync、呼び出すコールバックがあることを期待しており、コールバックをEmail.send使用していません。
エラーを取り除くにはどうすればよいですか?