提问人:Benilda Key 提问时间:11/10/2023 最后编辑:Benilda Key 更新时间:11/10/2023 访问量:37
promise 使用的回调函数返回什么?[复制]
What do the callback functions used by a promise return? [duplicate]
问:
我正在尝试弄清楚 JavaScript 承诺。我已经阅读了多个关于这个主题的文档,包括 Promise 和 Using promises。也许我遗漏了一些明显的东西,但我找不到以下问题的答案。届时使用的回调函数和 catch 返回什么?
这些信息在这些页面的任何地方都没有明确说明。
以下代码示例来自“使用 promises”页。
createAudioFileAsync(audioSettings).then(successCallback, failureCallback);
如果我的问题在该页面上得到回答,那么在此代码示例附近会有类似于以下内容的句子。
successCallback
是返回 {answer to question} 的方法。然而,在这两页上都找不到这样的句子。
以下段落没有回答这个问题。
Promise.prototype.then() 方法、Promise.prototype.catch() 和 Promise.prototype.finally() 用于 将进一步行动与承诺相关联 安定下来。由于这些方法返回 promise, 它们可以被链接起来。
这段话说 Promise.prototype.then()、Promise.prototype.catch() 和 Promise.prototype.finally() 方法本身“返回 promise”。它没有提到回调方法。
“常见错误”部分中的以下注释表明该方法应该返回 Promise。successCallback
// Forgot to return promise from inner chain + unnecessary nesting
但同一页面中的其他信息似乎与此相矛盾。
请考虑以下代码块。
const listOfIngredients = [];
doSomething()
.then((url) => fetch(url))
.then((res) => res.json())
.then((data) => {
listOfIngredients.push(data);
})
.then(() => {
console.log(listOfIngredients);
});
一些成功回调具有明确的返回,即使用箭头函数的回调,但其他回调似乎没有返回任何内容。
具有不同情况的示例示例只会增加混乱。该方法显然返回一个 Promise,但该方法返回其他内容。如果我的问题的答案是它返回一个 Promise,那么“return { value, isOdd };”与返回 Promise 有什么不同?promiseGetWord
determineParity
答: 暂无答案
评论