【发布时间】:2019-07-23 00:14:19
【问题描述】:
因此,我创建了一个组件,该组件使用我提供的道具发送发布请求。
虽然我熟悉 Async await,但由于某种原因,我似乎无法让它返回已履行承诺的实际值,而只是等待处理。
我已尝试使用更多功能进行包装,因为我知道承诺没有得到解决。
我觉得我错过了什么。
下面是我的代码示例
export default class PostController extends React.Component {
constructor(props) {
super(props)
}
Wrapper = (body) => {
try{
let x = this.Send(body);
return x;
console.log(x)
}catch(e){console.log(e)}
}
Send = async (body) => {
try{
let data = await this.Post(body);
return data;
}catch(e){console.warn(e)}
}
Post = async (body) => {
try{
const options = {
method: 'POST',
uri: 'XXXXXXXXXXXXXXXXXXXX',
body: body
}
const data = await rp(options);
return data;
}catch(e){console.warn(e)}
}
render(props) {
let jsonBody = JSON.stringify(this.props.data)
const returnData = this.Wrapper(jsonBody)
console.log(returnData)
return(
<div>
{(!this.props.data.pw) ? 'Retrieved Password: ' + returnData.message : 'Generated PassWord!:' + returnData.message }
</div>
)
}
}
【问题讨论】:
-
你能告诉我
rp(options)是什么,为什么它在等待什么吗?... -
请求承诺,它是一个将常规请求库包装在承诺中的库。
标签: javascript reactjs promise request-promise