Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Promise对象创建期间,将哪些值传递给执行者_Javascript - Fatal编程技术网

Javascript 在Promise对象创建期间,将哪些值传递给执行者

Javascript 在Promise对象创建期间,将哪些值传递给执行者,javascript,Javascript,其中指出: 执行人功能由承诺执行人立即执行, 传递解析和拒绝函数(在承诺构造函数返回创建的对象之前调用执行器) 在对象创建期间,在初始执行器执行中使用了哪些函数“解析”和“拒绝”?没有任何处理程序连接到。那么在那一点上 我的理解是,executor是传递给Promise构造函数的函数,带有两个参数:resolve和reject(这是函数本身)。如果在承诺创建时调用executor,那么调用它的解析和拒绝函数是什么 谢谢您的帮助。执行器函数将被执行,为了返回值或将错误抛出到promise处理程序,

其中指出:

执行人功能由承诺执行人立即执行, 传递解析和拒绝函数(在承诺构造函数返回创建的对象之前调用执行器)

在对象创建期间,在初始执行器执行中使用了哪些函数“解析”和“拒绝”?没有任何处理程序连接到。那么在那一点上

我的理解是,executor是传递给Promise构造函数的函数,带有两个参数:resolve和reject(这是函数本身)。如果在承诺创建时调用executor,那么调用它的解析和拒绝函数是什么


谢谢您的帮助。

执行器函数将被执行,为了返回值或将错误抛出到promise处理程序,它需要一些回调。这些回调应该在执行范围内可用,并且应该从承诺中可用。这就是下面示例中承诺的构造函数传递的
解析
拒绝
值的目的

var a = new Promise((resolve,reject) => {
  setTimeout(()=>{
    if(Math.random() > 0.5) //resolve or reject on 50% probability
      resolve('this value to the handler');
    else
      reject('uh oh! there is an error');
  },2000);
});
现在,如果在
a
上附加
.then()
.catch()
。上面的
setTimeout
将通过我们提供的resolve和reject回调传递值


因此,将
resolve
reject
视为提供给执行人的一些值,以便与原始承诺处理程序进行沟通。

感谢您的回答。那么当它说在承诺创建时,执行器被称为传递解析和拒绝函数,它使用一些内部定义的解析和拒绝函数?可能是(result)=>{returnresult}?是的。比如回调。(callback)=>{/…执行异步操作;返回callback();}