Typescript-返回Promise Then的数据并执行操作



我有一个类似的promise函数

private createDP(propsMessages:CustomClass){
const elem: HTMLElement = document.querySelector('#uid');
convertToDp(propsMessages).then(data => {
const mutatedData = this.ConvertMessages(data);
const dp = new MyClass<
string,
MyMessage
>(mutatedData, { keyAttributes: 'id' });
return dp;
});

返回null;}

private memoize = () => {
let previousDataProvider;
return (data: DataProvider<string, CustomMessage>) => {
if (data && data !== previousDataProvider) {

previousDataProvider = data;
const dp =this.createDP(data);

this.setState({
MessagesDp: dp,
});
}
};

};

我得到的这个返回值是空的,如何通过等待结果从函数返回数据

首先必须返回promise

private createDP(propsMessages){
const elem: HTMLElement = document.querySelector('#uid');

return convertToDp(propsMessages).then(data => {
const mutatedData = this.ConvertMessages(data);
const dp = new MyClass<
string,
MyMessage
>(mutatedData, { keyAttributes: 'id' });
return dp;
});
}

接下来,您必须设置promise解析时的状态

private memoize = () => {
let previousDataProvider;
return (data: DataProvider<string, CustomMessage>) => {
if (data && data !== previousDataProvider) {

previousDataProvider = data;
this.createDP(data)
.then( dp => this.setState({MessagesDp: dp}) )

}
};
};

最新更新