gpt4 book ai didi

javascript - 如何在新的 Promise 中安排参数?

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

我刚刚了解了 Promise 和 async/await。我希望我的函数在继续之前等待内部的某些函数完成。基本上,我想它应该看起来像这样:

async function doSomething(data){
//some code
await createMarkup(data)
//do some stuff which must wait for createMarkup to finish
}

function createMarkup(input){
return new Promise ((???) => {
//some code
resolve(markup)
})
}

现在,在我读到的大多数关于 Promise 之类的教程中,“新 Promise”的参数始终是“(resolve,reject)”。这种情况经常发生,我想知道这是否有必要?

就我而言,promise 只需要一个参数。那么我可以像在任何其他参数中一样,将我的一个参数放入该参数中吗?还是我需要处理一些事情?^^

最佳答案

In my case, the promise shall take exactly one argument.

Promise 将接受一个参数。该参数将是您希望它运行的函数。这就是 Promise 的定义方式。这不是你可以控制的事情。

您传递给 Promise 的函数将接收两个参数。它在调用时传递给它们,这是由 Promise 库完成的(这不是您编写的代码,并且遵循 Promises 规范,因此它不在您的控制之下)。传统上将它们称为 resolvereject,但您可以随意调用它们。如果成功,您传递的函数需要调用 resolve(any_data);如果失败,则需要调用 reject(any_data)。如果您不打算调用 reject,则无需在参数列表中提及它,但第二个参数将传递给函数。

您可以创建一个返回 Promise 的函数(例如示例中的 createMarkup),它接受您喜欢的任何参数,并使它们可用于您传递给 Promise 的函数> 通过闭包。

关于javascript - 如何在新的 Promise 中安排参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52059313/

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