【发布时间】:2021-12-13 15:29:45
【问题描述】:
我在下面粘贴了 PoC 代码,其中我删除了很多行,但它显示了我面临的问题/问题。
createPost() 在ret 变量中返回一个“帖子编号”。除了记录之外,我不需要“帖子编号”。
对于当前的实现,我必须在while 循环之外定义ret,并且由于在NodeJS 事件循环中顺序代码在异步代码之前运行,我希望日志记录将在createPost() 之前执行,这不是我想要的。
问题
当createPost()被执行时,是否可以只记录ret?
module.exports = async (p) => {
let ret = 0;
try {
while (true) {
switch (x) {
case 1:
isOk = await getStatusCode({ ... });
break
case 2:
isOk = await getString({ ... });
break
default:
throw "";
};
ret = await createPost(p);
appLogger.info(`Created post: ${ret}`); // I don't need 'ret' for anything else than logging it
} catch (error) {
appLogger.error(error);
}
}
createPost.js
const axios = require('axios');
module.exports = async (c) => {
try {
const r = await axios({ ... });
return r.data.key;
} catch (error) {
throw new Error(JSON.stringify(error.response.data, null, 2));
};
};
【问题讨论】:
标签: javascript node.js ecmascript-6 async-await