JS Promise 旨在随机解析或拒绝,在 then/catch 中显示“未定义”,以表示在解析/拒绝中作为参数传递的随机值

问题描述 投票:0回答:1

Qn。创建一个 JavaScript Promise,在 2 秒延迟后,要么解析并显示消息“Hello World”,要么拒绝并显示错误消息“发生错误”。结果(解决或拒绝)应由随机条件确定,确保每次代码运行时出现任一情况的概率为 50/50。

解决方案代码已在描述中给出。但是,我尝试传递基于发生解析/拒绝的随机值,但该值在 then 中显示为未定义并捕获部分代码。

const Promises = new Promise((resolve, reject) =>
{
    let ch = Math. Random()>0.5;
    setTimeout(() => 
    {
      if(ch)
      resolve("Hello World",ch);
      else 
      reject("Error Occurred!!!",ch);
      },2000);
    });

    Promises.then((msg,ch) => 
    {
      console.log(msg);
      console.log(ch);
    }).catch((msg,ch)=>
    {
       console.log(msg);
       console.log(ch);
    });

  

输出1

    Hello World
    undefined


   

输出2

    Error Occurred !!!
    undefined
javascript promise backend resolve winjs-promise
1个回答
0
投票

Promise 返回单个值(可以是字符串、数组或对象等任何内容),就像普通函数一样。

© www.soinside.com 2019 - 2024. All rights reserved.