Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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.prototype.then()中传递参数_Javascript_Promise - Fatal编程技术网

Javascript 在Promise.prototype.then()中传递参数

Javascript 在Promise.prototype.then()中传递参数,javascript,promise,Javascript,Promise,在浏览MDN Web文档的主题时,我遇到了一个示例 var promise1=新承诺((解决、拒绝)=>{ 决心(“成功!”); }); 承诺1.然后(功能(价值){ console.log(值); //预期输出:“成功!” }); 我们早些时候传递了字符串“成功!”在resolve()方法中。但是我们没有事先指定要分配给value变量的数据(在console.log()中传递) 调用函数时,确定传递给函数参数的值 调用它的代码是Promise库的一部分(即由其他人编写)。他们指定了它应该是

在浏览MDN Web文档的主题时,我遇到了一个示例

var promise1=新承诺((解决、拒绝)=>{
决心(“成功!”);
});
承诺1.然后(功能(价值){
console.log(值);
//预期输出:“成功!”
});
我们早些时候传递了字符串“成功!”在resolve()方法中。但是我们没有事先指定要分配给value变量的数据(在console.log()中传递)

调用函数时,确定传递给函数参数的值

调用它的代码是Promise库的一部分(即由其他人编写)。他们指定了它应该是什么

直观地说,我们不应该从Promise.resolve()*/中明确定义var value=/*数据吗

不,写承诺图书馆的人已经这么做了

否则,我可以将name值更改为任意值

对。参数的名称并不决定传递给它们的值。这些职位确实如此

我们早些时候传递了字符串“成功!”在resolve()方法中。但是我们没有事先指定要分配给value变量的数据(在console.log()中传递)

调用函数时,确定传递给函数参数的值

调用它的代码是Promise库的一部分(即由其他人编写)。他们指定了它应该是什么

直观地说,我们不应该从Promise.resolve()*/中明确定义var value=/*数据吗

不,写承诺图书馆的人已经这么做了

否则,我可以将name值更改为任意值


对。参数的名称并不决定传递给它们的值。位置确实如此。

只是您为
.then()
处理程序回调函数指定的第一个参数的名称。你可以给它取任何你想要的名字。无论您给它取什么名称,它都将获得
.then()
处理程序的第一个参数的值。所有函数都是这样。您可以随意命名参数,并且不会改变调用参数时得到的值

否则,我可以将name值更改为任何值,比如myVar,并得到相同的结果:将“Success!”记录到控制台

是的,你可以把论点的名字改成任何你想要的名字。无论您给它取什么名字,它都会在调用函数时收到第一个参数。由调用方确定参数的值。函数声明决定了第一个参数在函数中的名称,以便您可以引用第一个函数参数


在本例中,函数由promise库的内部调用,当它调用
。然后()
回调函数时,它将promise的解析值作为第一个参数传递,您的案例就是您的
“成功!”
string.

value
只是您为
.then()
处理程序回调函数指定的第一个参数的名称。你可以给它取任何你想要的名字。无论您给它取什么名称,它都将获得
.then()
处理程序的第一个参数的值。所有函数都是这样。您可以随意命名参数,并且不会改变调用参数时得到的值

否则,我可以将name值更改为任何值,比如myVar,并得到相同的结果:将“Success!”记录到控制台

是的,你可以把论点的名字改成任何你想要的名字。无论您给它取什么名字,它都会在调用函数时收到第一个参数。由调用方确定参数的值。函数声明决定了第一个参数在函数中的名称,以便您可以引用第一个函数参数


在本例中,函数由promise库的内部调用,当它调用
。然后()
回调函数时,它将promise的解析值作为第一个参数传递,您的案例就是您的
“Success!”
字符串。

我可以将名称值更改为任何值,例如,myVar并得到相同的结果
Yep。这只是一个参数——你可以随意命名它,并得到相同的输出。(迷你们就是这么做的)
我可以将name值更改为任何值,比如myVar,然后得到相同的结果
是的。这只是一个参数——你可以随意命名它,并得到相同的输出。(迷你们就是这么做的)好的。那么我能看到在该库中编写的代码吗?@SunitGautam-取决于库。如果您使用的是像Bluebird这样的独立Promise库,那么应该很容易找到,如果您使用的是内置于Firefox中的本机Promise库(因为Firefox有很多源代码),那么就更难找到,如果您使用的是内置于Edge中的本机Promise库(当然不是开源的),那么可能就不可能找到了。好的。那么我能看到在该库中编写的代码吗?@SunitGautam-取决于库。如果您使用的是像Bluebird这样的独立Promise库,那么应该很容易找到,如果您使用的是内置在Firefox中的本机Promise库(因为Firefox有很多源代码),那么就很难找到,如果您使用的是内置在Edge中的本机Promise库(当然不是开源的)。