这个promise方法是什么意思

export interface alarmState {
    /**
     * 传感器ID
     * 
     * @type {string}
     * @memberof alarmState
     */
    id: string,
    /**
     * 报警状态,0代表正常
     * 
     * @type {(number)}
     * @memberof alarmState
     */
    currentAlarmLevel: number
}
/**
     * 读取全部报警状态
     * 
*/
getAlarmState = (): Promise<alarmState[]> =>{
        
}
阅读 7.6k
2 个回答

这个是指getAlarmState函数返回一个Promise,这个Promise resolve的值为alarmState的数组,其实就是泛型~

Promise<T> 是一个泛型类型,将之定义为一个泛型主要是为了后续代码的类型识别,比如

async function t1(): Promise<number>() {}
(async () => {
    const v = await t1(); // 这里可以根据 Promise<number> 推断出 v 是 number 型
})();

不用 async/await 也可以在 callback 中推断,比如

// 这里也可以根据 Promise<number> 推断出 v 是 number
t1().then(v => console.log(`${v} is a number`));

如果不确定 Promise 的 resolve 值类型的情况下,可以定义 Promise<any>