Я выполняю некоторые основные асинхронные операции, используя async/await
в TypeScript, но TSLint бросает таинственные сообщения об ошибках для этих двух функций ниже. Кто-нибудь сталкивался с этими ошибками раньше? На выходе ошибки правило управления не упоминается, поэтому я не понимаю, что их вызывает. Любые идеи были бы с благодарностью.
Основной запрос:
import * as rp from 'request-promise'
export function getRequest(address: rp.Options): rp.RequestPromise {
return rp(address)
}
Экспортированная функция async:
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)
}
}
Это получает: Promises must be handled appropriately
и await of non-Promise
для строки # 3.
Простая функция, использующая этот экспорт:
client.on('message', message => {
if (message.content === 'green') {
getStatus(message)
}
})
Это также получает Promises must be handled appropriately
.
Дополнительная информация:
Несмотря на то, что сообщение об ошибке не упоминает об этом, это правило является правилом для Promises must be handled appropriately
:
https://palantir.github.io/tslint/rules/no-floating-promises/
И в этом выпуске упоминается await of non-Promise
:
https://github.com/palantir/tslint/issues/2661