取promise里的值
时间: 2023-09-15 07:18:04 浏览: 58
要取一个 Promise 中的值,可以使用 Promise 的 then 方法来注册一个回调函数,该回调函数会在 Promise 对象的状态变为 resolved(已解决)时被调用,同时 Promise 对象的解决值会作为回调函数的参数被传递进来。例如:
```
const myPromise = new Promise((resolve, reject) => {
// 假设这里有一些异步操作,最终会产生一个值
const result = 42;
resolve(result); // 将异步操作的结果传递给 Promise 对象
});
myPromise.then((value) => {
console.log(value); // 输出 42
});
```
在上面的例子中,我们创建了一个 Promise 对象 `myPromise`,并在其构造函数中执行了一些异步操作,最终将异步操作的结果 42 传递给了 Promise 对象。然后我们使用 `then` 方法注册了一个回调函数,当 Promise 对象的状态变为 resolved 时,该回调函数会被调用,并将 Promise 对象的解决值(也就是 42)作为参数传递进来。在回调函数中,我们将解决值输出到控制台上。
注意,Promise 的 then 方法返回一个新的 Promise 对象,因此可以使用链式调用来处理多个异步操作。例如:
```
const myPromise = new Promise((resolve, reject) => {
// 假设这里有一些异步操作,最终会产生一个值
const result = 42;
resolve(result); // 将异步操作的结果传递给 Promise 对象
});
myPromise.then((value) => {
console.log(value); // 输出 42
return value * 2; // 返回一个新的 Promise 对象
}).then((value) => {
console.log(value); // 输出 84
});
```
在上面的例子中,我们在第一个回调函数中将解决值乘以 2,并返回一个新的 Promise 对象。然后我们使用 `then` 方法注册了第二个回调函数,该回调函数会在新的 Promise 对象的状态变为 resolved 时被调用,并将新的 Promise 对象的解决值(也就是 84)作为参数传递进来。在第二个回调函数中,我们将解决值输出到控制台上。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](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)