我正在使用 TypeScript 中的 async/await
执行一些基本的异步操作,但是 TSLint 为下面的这两个函数抛出了神秘的错误消息。以前有人遇到过这些错误吗?在错误输出中没有提到治理规则,所以我不明白是什么导致了这些错误。有任何想法都会很感激。
主要要求:
import * as rp from 'request-promise'
export function getRequest(address: rp.Options): rp.RequestPromise {
return rp(address)
}
导出的异步函数:
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)
}
}
这将得到: 第3行的 Promises must be handled appropriately
和 await of non-Promise
。
使用此导出的简单函数是:
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