使用Promise 實(shí)現(xiàn)刷新頁面贴浙、業(yè)務(wù)代碼的先后執(zhí)行
new Promise((resolve => {
this.setState({
key:value
})
resolve();
})).then(()=>{
try {
this.refs['panel'].handleSearch();
} catch (error) {
console.error(error.message)
}
});
自定義封裝(方便調(diào)用)
/**
*
* @param service
* @param then
*/
requestService = (config) => {
new Promise((resolve) => {
resolve(config.request());
}).then((response) => {
config.then(response)
});
}
自定義調(diào)用
this.requestService({
request: () => {
this.setLoading(true);
let result = requestInterface()
return result
},
then: (result) => {
this.setLoading(false);
this.handleResponse(result);
this.refreshData();
}
});