这是我的代码:
componentWillMount() {
fetch("http://10.4.5.114/localservice/webservice/rest/server.php", {
method: 'POST',
body: JSON.stringify({
wstoken: 'any_token',
wsfunction: 'any_function',
moodlewsrestformat: 'json',
username: 'user',
password: 'pass',
})
})
.then((response) => response.text())
.then((responseText) => {
alert(responseText);
})
.catch((error) => {
console.error(error);
});
}
Run Code Online (Sandbox Code Playgroud)
在浏览器中,此请求返回一个令牌,但在我的react-native android App中返回一个xml错误.
我开始深入研究泛型并有一个看起来像这样的泛型事件类
export interface Listener < T > {
(event: T): any;
}
export class EventTyped < T > {
//Array of listeners
private listeners: Listener < T > [] = [];
Attach(listener: Listener < T > ) {
this.listeners.push(listener);
}
Emit(event: T) {
this.listeners.forEach(listener => listener(event));
}
}
Run Code Online (Sandbox Code Playgroud)
我像这样创建我的事件 onPageSizeSelected = new EventType<PageSizeSelector>();
我的听众签名是这样的PageSizeSelectedHandler(event:Event,object:PageSizeSelector)。
当我去附加这样的事件时,pageSizeSelector.onPageSizeSelected.Attach(this.PageSizeSelectedHandler.bind(this))不会抛出错误。当处理程序像这样附加时pageSizeSelector.onPageSizeSelected.Attach(this.PageSizeSelectedHandler)。它立即发现方法签名不正确并且参数过多。
打字稿无法正确推断方法签名的绑定是什么?如何安全地保留this我的事件并强类型化我的事件?