Typescript,为回调函数定义“ Function”类型,而不是使用“ any”作为类型

时间:2019-10-18 20:16:08

标签: javascript typescript typescript-typings

我的.d.ts文件中有一个接口,它定义了sendAjax()方法,如下所示:

declare interface AjaxUtil {
  sendAjax(endpoint: string, data: any, successCallback: any, errorCallback: any): void;
}

然后,我在这里实现该接口,它可以正常工作:

const util: AjaxUtil = {
    sendAjax: (endpoint: string, data: any, successCallback: any, errorCallback: any) => {
          jQuery.ajax({
            type: 'GET',
            url: endpoint,
            data: data,
            error: errorCallback,
            success: successCallback
        }); 
        }
};

export default util;

但是,当我尝试在接口和实现部分中将回调变量类型从any替换为Function时,例如:

 sendAjax(endpoint: string, data: any, successCallback: Function, errorCallback: Function): void;

在函数实现开始的地方出现了[object Object]错误-jQuery.ajax({

为什么会这样?

0 个答案:

没有答案