我正在使用async/await
TypeScript做一些基本的异步操作,但是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)
}
}
这得到: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