gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:50:44 26 4
gpt4 key购买 nike

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

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

var promise1 = new Promise((resolve, reject) => {
resolve('Success!');
});

promise1.then(function(value) {
console.log(value);
// expected output: "Success!"
});

我是 JS 的初学者,我的疑问是关于在 promise1.then() 内的函数中传递的参数

我们之前传递了字符串“Success!”在 resolve() 方法中。但我们事先没有指定要分配给 value 变量的数据(在 console.log() 中传递)。直观上,我们不应该显式定义 var value =/* Data from Promise.resolve() */ 来首先定义数据 value 携带的内容,然后将其传入console.log()

否则,我可以将名称 value 更改为任何内容,例如 myVar 并获得相同的结果:记录“成功!”到控制台。

我尝试用谷歌搜索它,但没有帮助,因为我不知道我的问题与哪个 JS 主题有关。所以,请推荐相关 Material 。谢谢!

最佳答案

We earlier passed the string 'Success!' in the resolve() method. But we did not specify before-hand what data we are assigning to the value variable (which is being passed in the console.log() ).

传递给函数参数的值是在调用函数时确定的。

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

Intuitively, shouldn't we have explicitly defined var value = /* Data from Promise.resolve() */

没有。编写 Promise 库的人已经这样做了。

Otherwise, I can just change the name value to anything

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

关于javascript - 在 Promise.prototype.then() 中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51568982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com