javascript - typescript : Type 'Promise<{}>' is not assignable to type 'Promise<void>'

标签 javascript typescript

我有以下功能:

let templateLoader = (onDidFinishLoad : Function, onDidFailLoad : Function) =>
    (url : string) : Promise<void> => 
        new Promise(    
            (resolve,reject) => {
                mainWindow.loadURL(url);
                mainWindow.webContents.once(
                    'did-finish-load',
                    () => { 
                        onDidFinishLoad(resolve);
                    }  
                );  
                mainWindow.webContents.once(
                    'did-fail-load', 
                    (event,errorCode,errorDescription) => {  
                        onDidFailLoad(reject,errorDescription); 
                    }  
                );   
            } 
        ); 

我有以下编译错误:

ERROR in [at-loader] ./app/loaders.ts:9:9 TS2322: Type 'Promise {}' is not assignable to type Promise void. Type '{}' is not assignable to type 'void'.

最佳答案

它通过修改 : Promise<void> 来工作进入: Promise<any> ,

或投new Promise进入new Promise<void> .

关于javascript - typescript : Type 'Promise<{}>' is not assignable to type 'Promise<void>' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45371582/

相关文章:

node.js - 如何使用 TypeScript 从 npm 扩展模块?

javascript - 如何检查 iframe 中的 anchor 标记是否包含 URL

javascript - 如果我单击按钮打开弹出窗体,代码在 IE6 上不起作用

javascript - JQuery解析JSON的错误处理

当我映射和展平数组时,TypeScript 会错误地出错?

Angular 4 (click) 在不使用 jQuery 的情况下更改另一个元素的类

javascript - 将内联样式更改为样式组件

typescript - 开 Jest mock TypeScript 类 "No overload expects 1 type arguments"

javascript - 整数和防注入(inject)保护

javascript - 创建具有重复键的对象