0
我正在用Typescript寫Mocha的單元測試,我對承諾很陌生,但我認爲我碰到了一些奇怪的東西。我有一個像這樣的單元測試摩卡測試:警告承諾沒有錯誤回調
test("Hello world command exists", function(done) {
let cmds = vscode.commands.getCommands(true)
cmds.then(
ids => {
let containsCmd = ids.indexOf("extension.sayHello")
assert.notEqual(containsCmd, -1)
done()
},
err => {
assert.fail()
done(err)
}
)
該測試運行良好,但我收到一個警告,正在擾亂我。 WARNING: Promise with no error callback
。我知道這是因爲cmds.then()
返回另一個承諾對象,但我實際上不希望對該承諾對象做任何其他事情,因爲我在第一個承諾對象上聲明。現在我發現自己添加此:
.then(() => { return },() => { return })
最後陳述後,但我不認爲這是一個非常優雅的解決方案是有做這樣的比較正確的做法?