gpt4 book ai didi

javascript - 不等待调用异步函数的缺点

转载 作者:行者123 更新时间:2023-11-29 23:24:44 24 4
gpt4 key购买 nike

给定异步代码

async function wierdFunction(){
setTimeout(function(){
//background process that does not return
//Russian roulette
if ( Math.random() > 0.99 )
throw new Error('Bang!');
}, 3000);
}

我只需要异步调用这个函数,我不需要知道它什么时候完成。

app.post('/wierd-endpoint', function (req,res){
wierdFunction();
res.json({status:"Running. Now, go away."});
});

是否有任何建议不要在没有 await 关键字的情况下调用它?

最佳答案

只需从 wierdFunction() 中删除 async。如果您没有使用返回的 promise 并且没有在内部使用 await ,那么就没有理由拥有它。它只是为返回创建一个额外的 promise 对象,然后进行垃圾收集,因此它会产生额外的开销,并且它向调用者暗示调用者可以将该 promise 用于一些有用的事情。

Is there any advise against calling it without await keyword?

如果你的操作是真正的“即发即弃”并且你不关心完成或报告的错误,那么它不需要返回一个 promise ,你可以让它成为一个启动异步操作的普通函数,但是不报告任何结果。

关于javascript - 不等待调用异步函数的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49657914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com