我是异步 JS 新手。我在 Firefox 中添加了如下功能:
function addFoosToUrl(url, foos) {
var promises = []
foos.forEach(foo => {
entry = { foo: foo, url: url }
let promise = PlacesUtils.fooStuff.insert(entry)
promises.push(promise)
})
return Promise.all(promises)
}
它按预期工作。函数 PlacesUtils.keywords.insert
将一个条目插入数据库并返回一个 Promise,完成后该 Promise 解析为 null
。因此,正如 Promise.all()
documentation 所预期的那样,我的函数在插入所有条目后返回一个 Promise,解析为 PlacesUtils.keywords.insert
中解析值的数组,即:一个 null 数组。
似乎应该有一种方法来包装 Promise.all()
,以便我返回的 Promise 解析为对链接有用的内容,例如 url
>。有什么巧妙的方法可以做到这一点吗?
最佳答案
Promise.all() 返回另一个 Promise 对象。看起来,您可以使用 .then 链接从那里获取任何您想要的东西。
关于javascript - 包装 JavaScript Promise 来解决不同的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41863912/