0
あなたがここで見るように私は、関数(のsendEmail)を持っている:ForループでPromise関数を返す方法は?
public async sendEmail (log: LogMessage): Promise<void> {
nodemailer.createTestAccount(async() => {
return ServiceFactory.getSystemService().getNetworkPreferences().then(async (networkPreferences) => {
....
私は、forループでそれを使用したい:
for (const log of logs) {
const timestamp = moment(log.creationDate)
const startTime = new Date(Date.now())
if ((timestamp.diff(startTime)) >= rule.miliSecond && category.includes(log.category)) {
return this.sendEmail(log)
}
}
私は "this.sendEmail(ログ)を返し、" 削除することはできません。なぜなら、この関数はPromiseを返すからです。しかし、ループはたった1回だけ動作し、最初のログでは終了します。 このループでどのように関数を使用できますか?
https://stackoverflow.com/questions/43258568/for-await-of-:あなたは順次
sendEmail
を実行したい場合は、非同期/あなたが次を送信する前に電子メールでENTている間待つように待つを使用することができますsimple-example-typescript –'nodemailer.createTestAccount'と' await'を約束してください。 'async関数 'をコールバックとして渡さないでください。 – Bergi