提问人:kd8 提问时间:3/29/2023 更新时间:3/29/2023 访问量:43
javascript 中的参数匹配 [duplicate]
Parameter matching in javascript [duplicate]
问:
在关于 Promise (https://www.youtube.com/watch?v=DHvZLI7Db8E&ab_channel=WebDevSimplified) 的教程中,有以下内容:
let p = new Promise((resolve, reject) => {
let a = 1 + 1;
if (a == 2) {
resolve('Success');
} else {
reject('Failed');
}
})
p.then((message) => {
console.log("this is a success" + message);
}).catch((message) => {
console.log("this is an error" + message);
})
在 Promise 的文档中,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise, 向下滚动到构造函数部分,我们有:
Promise()
Creates a new Promise object.
The constructor is primarily used to wrap functions that do not already support promises.
我从视频中了解到的是,如果 resolve 返回 true,则 .then() 将执行,而 .catch() 将在 reject 返回 true 时执行。
我不明白的是 Promise() 将函数作为构造函数,但参数可以是任意的(文档没有说我们需要使用 and ),那么 JavaScript 如何知道参数的语义呢?resolve
reject
此外,被调用的事实表明它们实际上是回调函数,但我没有在任何地方看到它们?resolve()
reject()
(在阅读其他教程后,同样的疑问仍然存在:https://www.freecodecamp.org/news/javascript-es6-promises-for-beginners-resolve-reject-and-chaining-explained)
答: 暂无答案
评论
resolve
reject
.then()
resolve()
.catch()
reject()
resolve
reject
v
x
resolve()
reject()