gpt4 book ai didi

javascript - 为什么我在新的 Promise 创建 block 中看到返回值

转载 作者:行者123 更新时间:2023-11-29 17:48:06 25 4
gpt4 key购买 nike

我对两者之间的区别(如果有的话)和用例感到困惑。为什么有人会返回一个值?

var p1 = new Promise((resolve, reject) => { 
return setTimeout(() => {
resolve('Success')
}, 2000);
});

p1.then((successVal) => console.log(successVal))
.catch((error) => console.log(error))

var p1 = new Promise((resolve, reject) => { 
setTimeout(() => {
resolve('Success')
}, 2000);
});

p1.then((successVal) => console.log(successVal))
.catch((error) => console.log(error))

编辑:包括下面我实际看到的代码。

someFunc = (params) => {
if (!params) {
throw new Error('Invalid params');
}
return new Promise((resolve, reject) => {
return someOtherFunc(params, result => { // why return here? Does it matter?
resolve(result);
}, (code, message, error) => {
reject(error);
});
});
};

据我所知,someFunc 是一个将返回 Promise 的函数,稍后将由 someOtherFunc 解析。为什么 someOtherFunc 的返回值很重要呢?因为它的工作只是调用 resolvereject 处理程序?

最佳答案

没有实际区别。您传递给 Promise 的箭头函数称为 executor ,它返回的值将被忽略。 resolvereject 中返回的值才是最重要的。

关于javascript - 为什么我在新的 Promise 创建 block 中看到返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47087310/

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