等待's返回Promise而不是value
Asynchronous map function that await's returns Promise instead of value
我有这个代码
async function addFiles(dir,tree) {
return (await readDir(dir))
.map(async (name) => {await readDir(dir); return name;})
}
但不幸的是,它只返回了一堆promise,因为map中的async函数没有被等待。我想知道是否有任何方法可以等待上面代码中的映射函数。
尝试
async function addFiles(dir,tree) {
const files = await readDir(dir)
await Promise.all(files.map(async (name) => {await readDir(dir); return name;})
}
如果你使用的是bluebird,你可以在Promise.map 中使用这种更干净、更短的语法
async function addFiles(dir, tree) {
const files = await readDir(dir);
return Promise.map(files, async (name) => { await readDir(dir); return name; });
}
相关文章:
- 使用promise和mongoose对文档进行排序
- 测试Angular Service解决错误回调中的promise
- 在ember/handlers中使用value和valueBinding有什么区别
- 节点协同与生成器和Promise并行流量控制
- 根据是否解析了 Promise 从函数返回值
- 将一个方法转换为promise:Nodejs
- 函数在promise被解析后被调用,但Jasmine未通过测试.为什么?
- 需要url导航从DropDown Value onClick按钮传递url变量
- 用Javascript在下拉列表中选择VALUE选项
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- js promise没有正确关闭
- Angularjs使用“;这个“;promise内的关键字回调
- AngularJS和promise值在调用本地函数时的效果-未定义
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 以同步方式获取Javascript Promise的值
- 等待's返回Promise而不是value
- 通过带有err,value签名的回调创建promise
- Promise.all() - 如何在不返回 undefined 或 value 的情况下解析()
- Javascript Promise resolve value
- 为什么执行$q.when()时不传递promise/value