javascript - 在这段代码中,resolve 和 reject 做什么?
问题描述
我正在学习承诺,我问这个问题只是为了让我清醒。我想我明白它的作用,但无法用言语表达。如果有人解释了这段代码的前两行,我将不胜感激。假设我们使用汽车型号列表调用该函数。
function superSecretOrder(items) {
return new Promise(function (resolve, reject) {
const random = Math.random() * 1000
setTimeout(function () {
resolve([...items].sort())
}, random)
})
}
解决方案
Resolve 是 promise 返回类型的回调。然后,您可以使用 访问该值.then(...)
,例如:
function superSecretOrder(items) {
return new Promise(function (resolve, reject) {
const random = Math.random() * 1000
setTimeout(function () {
resolve([...items].sort())
}, random)
})
}
const orderedCardsPromise = superSecretOrder(['b', 'a']);
orderedCardsPromise.then(orderedCards => {
// After a random amount of time set by `const random = Math.random() * 1000`
console.log(orderedCards); // ['a', 'b']
});
推荐阅读
- geojson - 如何在 arcgis 4.x 中显示抖动强度?
- python-3.x - 引用顶级模块python
- robotframework - 如何在机器人框架的套件设置中获取当前的测试用例名称?
- python - 向 Pandas 数据框中添加一列,其中 A、B、C 重复
- haskell - 如何为给定数据类型的 Show 编写更短的实例?
- android - 在 Dispatcher.Main 的上下文中执行网络任务
- php - 如何在 Symfony 中正确使用自定义类型?
- firebase - Flutter / Firebase在null上调用了getter'length'
- sql-server - SQL Server varchar(max) 无法正常工作
- wcf - 使用 WcfCoreMtomEncoder 记录响应 XML?