4-Promis中then方法的返回结果由什么决定

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let p = new Promise((resolve, reject) => {
        resolve("Ok");
      });

      // 执行then方法
      let result = p.then(
        (value) => {
          console.log(value);
          // 1.抛出错误---then方法返回的结果就是失败,值为抛出的错误
          // throw "出了问题!";
          // 2.返回结果是一个非Promise类型的对象---then方法返回的结果就是成功,值为返回的结果
          // return 123;
          // 3.返回结果是一个Promise对象---then方法返回的结果由返回状态当中Promise对象的状态来决定,值为返回结果当中Promise的成功/失败的值
          // return new Promise((resolve, reject) => {
          //   resolve("Success");
          //   reject("Error")
          // });
        },
        (reason) => {
          console.warn(reason);
        }
      );

      console.log(result, "000000"); //返回的状态确定了,但是没有返回结果,所以返回的结果是undefined
    </script>
  </body>
</html>

推荐这些文章:

2-当Promise对象成功或失败时能否执行多个回调

<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta http-equiv="X-UA-Compatible" content="IE=edge" />     <meta name="viewport" content="width=device-width, initial-scale=1.0" />     <t...

6-Promise异常穿透现象是怎么回事

<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta http-equiv="X-UA-Compatible" content="IE=edge" />     <meta name="viewport" content="width=device-width, initial-scale=1.0" />     <t...

3-Promise改变状态与指定回调顺序的问题

<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta http-equiv="X-UA-Compatible" content="IE=edge" />     <meta name="viewport" content="width=device-width, initial-scale=1.0" />     <t...

7-如何中断Promise链

<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta http-equiv="X-UA-Compatible" content="IE=edge" />     <meta name="viewport" content="width=device-width, initial-scale=1.0" />     <t...

Promise规范及其应用

Promise规范及其应用
Promise A+规范
Promise表示一个异步操作的最终结果。与Promise最主要的交互方法是通过将函数传入它的then方法从而获取得Promise最终的值或Promise最终最拒绝(reject)的原因。
术语

1.promise是一个then方法的对象或者是函数,行为遵循本规范

2.thenable是一个有then方法的对象或者是函数

3.value是promise状态成功的值,也就是resolve的参数,包括各种数据类型,也包括undefined/thenable或者是promise

4.reason是promise状态失败时的值,也...

1-async函数

<!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8" />     <meta http-equiv="X-UA-Compatible" content="IE=edge" />     <meta name="viewport" content="width=device-width, initial-scale=1.0" />     <...

js面试题---try的catch和promise的catch有什么区别

首先,相同点,都是获取代码错误信息的方法,而且2种都不能获取异步错误。比如:
try和catch
function f2() { try {  console.log(a) } catch (e) {  console.log(e) // a is not defined }} f2()
 
function f2() { try {  setTimeout(() => {   console.log(a)   }, 100) } catch (e...

关于ES6的promise和ES7的yield

关于ES6的promise和ES7的yield
 
 
 
1.promise
1 基本概念

名称:
译为“承诺”,这也就表达了将来会执行的操作,代表异步操作;

状态:
一共有三种状态,分别为pending(进行中)、fulfilled(已成功)和rejected(已失败)。

特点:
(1)只有异步操作可以决定当前处于的状态,并且任何其他操作无法改变这个状态;
(2)一旦状态改变,就不会在变。状态改变的过程只可能是:从pending变为fulfilled和从pending变为rejected。如果状态发生上述变化后,此时状态就不会在改变了,这时就...

Promise行为记录 - catch和then都被运行触发

#js,#javascript,#es6,#promise
今天封装http。运行结果和预期不一样。
经过和我老大华哥请教,和我后面在chrome100.0.4896.75的测试。记录本文。
1、promise 的 catch 和 then 的顺序会影响结果

new Promise((_resolve, rejects) => {
setTimeout(() => {
rejects();
}, 100);
})
.catch(() => {
console.log('1');
})
.then(() => {
conso...

深入理解 Promise 之手把手教你写一版

深入理解 Promise 之手把手教你写一版 https://mp.weixin.qq.com/s/_gDIO6YCswAS2dICllMG0A
深入理解 Promise 之手把手教你写一版
原创 ekko 腾讯IMWeb前端团队 2022-04-25 19:00
收录于合集#我也想做前端25个

什么是 Promise?

语法上:Promise 是一个构造函数,返回一个带有状态的对象

功能上:Promise 用于解决异步函数并根据结果做出不同的应对

规范上:Promise 是一个拥有 then 方法...

文章标题:4-Promis中then方法的返回结果由什么决定
文章链接:https://www.dianjilingqu.com/1537.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>