Was könnte das etwa sein? [TsLint Fehler: "Versprechen müssen dementsprechend behandelt werden"]

Ich bin dabei einige grundlegende asynchrone Operationen verwenden async/await in Maschinenschrift, aber TSLint wirft mysteriöse Fehlermeldungen für diese beiden Funktionen unten. Hat jemand diese Fehler auftreten, vor? Am error-Ausgang der EZB-Regel wird nicht genannt, also ich verstehe nicht, was verursacht diese. Irgendwelche Ideen würde sehr geschätzt werden.

Den Haupt-Antrag:

import * as rp from 'request-promise'

export function getRequest(address: rp.Options): rp.RequestPromise {
  return rp(address)
}

Exportiert async-Funktion:

export async function getStatus(message: Message) {
  try {
    const res = await getRequest(address)
    if (res.ready) {
      message.reply('...')
    } else {
      message.reply('...')
    }
  } catch (err) {
    message.reply(err)
  }
}

Wird dies: Promises must be handled appropriatelyund await of non-Promise für die Linie #3.

Einfache Funktion, die mithilfe dieser export ist:

client.on('message', message => {
  if (message.content === 'green') {
    getStatus(message)
  }
})

Bekommt diese auch Promises must be handled appropriately.

Zusätzliche Informationen:

Obwohl die Fehlermeldung erwähnt es nicht, dies scheint die EZB-Regel für Promises must be handled appropriately:
https://palantir.github.io/tslint/rules/no-floating-promises/

Und dieses Problem erwähnt await of non-Promise:
https://github.com/palantir/tslint/issues/2661

  • Können Sie auch die Funktion getRequest in der Frage, danke.
  • Guter Punkt, ich habe es.
  • Hier nur raten, aber das könnte sein, dass tslint nicht erkennt, dass die rp-Funktion gibt ein Versprechen. Sie könnten versuchen, Einstellung ein Typ für ihn, export-Funktion getRequest(Adresse: rp.Optionen): Versprechen<alle> { ... Lassen Sie mich wissen, wenn dies funktioniert, so dass ich nicht mehr Zeit verbringen, das überprüft 🙂
  • Rückkehr ein Versprechen<alle> Fehler auf der IDE nicht kompatibel zu dem, was tatsächlich zurückgegeben rp. So habe ich diese: export function getRequest(address: rp.Options): rp.RequestPromise { return rp(address) } Dies entspricht das IDE aber ich bin noch immer genau der gleiche Fehler im ersten post.
InformationsquelleAutor cinnaroll45 | 2017-05-15
Schreibe einen Kommentar