node.js - 为什么 await 在异步系列中不起作用?我该如何实施?
问题描述
请检查下面的示例代码,等待在异步每个系列中都不起作用,为什么?如何解决这个问题?
async.eachSeries(myaccomplishmentinfo, (imgitem, next) => {
let imgfilename = req.body.userid + '_' + uniqid.time() + '_' + imgitem.order;
let img1_buff = Buffer.from(imgitem.filecontent, 'base64');
let data = {};
data.binaryData = img1_buff;
data.folderName = 'myaccomplishments';
data.fileName = imgfilename;
data.filetype = imgitem.filetype;
await s3Lib.storeData(data, (res) => {
myaccomplishmentimgdetail.push({
uniqueid: random,
filename: imgfilename,
filetype: imgitem.filetype,
imagetag: imgitem.imagetag,
imgorder: imgitem.order,
created_at: getdbdate,
modified_at: getdbdate
});
console.log(res)
next();
})
解决方案
这里的问题是您需要添加async
到eachSeries
函数中。
另外,不要使用next
您已经在等待它结束的参数,如下所示:
async.eachSeries(myaccomplishmentinfo, async (imgitem) => {
let imgfilename = req.body.userid + '_' + uniqid.time() + '_' + imgitem.order;
let img1_buff = Buffer.from(imgitem.filecontent, 'base64');
let data = {};
data.binaryData = img1_buff;
data.folderName = 'myaccomplishments';
data.fileName = imgfilename;
data.filetype = imgitem.filetype;
await s3Lib.storeData(data, (res) => {
myaccomplishmentimgdetail.push({
uniqueid: random,
filename: imgfilename,
filetype: imgitem.filetype,
imagetag: imgitem.imagetag,
imgorder: imgitem.order,
created_at: getdbdate,
modified_at: getdbdate
});
console.log(res)
})
推荐阅读
- python - 有没有办法开发 Python GUI 来控制 LabVIEW VI?
- shell - ls -R 如何显示文件(空格)
- visual-studio-code - Visual Studio Code 在与 MVS 相同的文件中具有代码导航?
- python - 如何正确地将具有多个外键的表序列化到同一个表
- python - 使用 Pandas groupby 组合数据
- sql - 如何获取 Oracle 环境变量 LONG?
- json - 传入变量名而不是实际值
- adal - Android - 在具有 Microsoft Authenticator 的设备上静默获取 B2B 令牌
- javascript - 如何仅使用 javascript 生成带有复选框的下拉列表
- typo3 - 插入 TYPO3 流体输入类型电子邮件