我想作为函数的结果返回链中的最后一个promise。我正在使用TypeScript 1.7和本机,ES6承诺。
我尝试了这个,但是TS将第一个promise视为返回值(Uint8Array),而不是importKey中的CryptoKey。我见过JavaScript的例子让我觉得最后的承诺实际上是返回值,所以TS可能只是混淆了吗?
private getKey(): Promise<Uint8Array> {
return localforage.getItem<Uint8Array>("key")
.then<Uint8Array>((derivedKeyData) => {
return crypto.subtle.importKey("raw", derivedKeyData, { name: "AES-GCM" }, false, ["decrypt"]);
});
}
作为函数的结果,我如何返回内部承诺?或者至少说服TS在没有使函数的返回类型为“any”的情况下真正发生了什么?