使用TypeScript:
public subscribe:(subscribeFunction:(state)=>void)=>()=>void;这是一个订阅方法,它将函数作为参数获取,类型为function,且给定函数在被调用时将接收状态参数,带参数的函数不会返回任何内容(即: void) ...我迷失在最后一个()=>()=>void上。
我的理解对吗?
发布于 2016-01-22 03:03:25
注意第一个冒号-- subscribe是函数类型的公共属性,而不是方法。展开:
public subscribe: // public property, which is
( // of the type of a function, which takes
subscribeFunction: // 1 parameter, which itself is
(state) => void // a function of 1 parameter, returning nothing
) => // and the upon invocation of a function stored in "subscribe" it
() => void; // returns a function of no parameter and no return value因此,您可以将一个函数存储到subscribe属性中,然后在为其提供一个函数作为参数的同时调用它,结果您将获得另一个函数,您可以随后调用该函数:
subscribe = (subscribeFunction: (state) => void) => {
subscribeFunction('A');
return () => {console.log('C');};
};
let subscribed = subscribe((state) => {
console.log(state, 'B');
}); // prints 'A,B'
subscribed(); // prints 'C'https://stackoverflow.com/questions/34931793
复制相似问题