响应的数据存放在Promise的[[PromiseResult]]中如何取出
时间: 2023-05-23 13:02:39 浏览: 4599
Promise的[[PromiseResult]]可以通过then()方法获取。在Promise对象resolved时,then()方法的回调函数会被执行,也就可以获得Promise对象的返回值。例如:
```javascript
const promise = new Promise((resolve, reject) => {
const data = 'hello world'
resolve(data)
})
promise.then(result => console.log(result)) // 输出:hello world
```
在这个例子中,当promise对象resolved时,then()方法的回调函数会将Promise的[[PromiseResult]]传入,也就是打印出了`hello world`。
相关问题
解构Promise数据PromiseResult
解构Promise数据PromiseResult可以通过使用.then()方法来获取Promise的结果。在.then()方法中,可以传入两个回调函数,第一个回调函数用于处理Promise成功的结果,第二个回调函数用于处理Promise失败的结果。这两个回调函数的参数分别是Promise的结果值和错误信息。通过解构赋值,可以将Promise的结果值和错误信息分别赋值给不同的变量。
例如,对于引用[1]中的代码,可以使用解构赋值来获取Promise的结果值和错误信息:
```javascript
p.then((value) => {
// 解构赋值获取成功的结果值
const { time } = value;
console.log("成功的数据,time", time);
}, (reason) => {
// 解构赋值获取失败的错误信息
const { time } = reason;
console.log("失败的数据,time", time);
});
```
对于引用[2]中的代码,可以使用解构赋值来获取Promise的结果值和错误信息:
```javascript
p.then((result) => {
// 解构赋值获取Promise的结果值
const { PromiseResult } = result;
console.log("Promise的结果值:", PromiseResult);
}).catch((error) => {
// 解构赋值获取Promise的错误信息
const { PromiseResult } = error;
console.log("Promise的错误信息:", PromiseResult);
});
```
需要注意的是,如果Promise的状态是rejected,可以使用.catch()方法来捕获错误信息。
怎么获取Promise下PromiseResult里的数据
要获取Promise下PromiseResult里的数据,可以在catch后使用then方法。具体步骤如下:
1. 在catch中获取到错误信息后,使用response.json()或response.text()方法将响应内容转换为JSON格式或文本格式的Promise对象。
2. 在then方法中获取到转换后的Promise对象,并将其作为参数传入回调函数中。
3. 在回调函数中,即可获取到PromiseResult里的数据。
例如,可以按照以下方式获取Promise下PromiseResult里的数据:
```
requestPOST('url/',params)
.then((d)=>{
//请求成功后
return {data:d}
})
.catch(err=>{
//请求失败
let {response} = err
let resJson = response.json() //resJson 是一个promise
resJson.then((res:any)=>{
console.log(res) //在这里获取到PromiseResult里的数据
})
})
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)