[英]Is there any advantage in nodejs calling an async function followed by an await versus a synchronous function?
[英]Nodejs any problem in calling async function without await?
我有一個端點,我想做一些用戶不感興趣的async
后處理,所以我想異步處理它們並向用戶發送響應。
像這樣的東西。
const createOrder = async (req,res)=>{
const order = await doCreateOrder(); //creates the order
somePostProcessing().catch(()=>{
//handle errors
});//asycn function which does some db/network operations(not interested in results)
return reply.send(order)
}
但我擔心它會導致任何問題,例如 memory 泄漏(我的團隊負責人這么說)等等? 在nodeJS中進行此類后期處理的最佳方式或其他選擇是什么?
忽略 promise 的結果不是問題。 您是否聆聽 promise 的成功完成完全是可選的。 有時有理由不在乎。 例如,我經常不讓 function 等待 function 末尾的文件關閉。
忽略被拒絕的 promise 是一個問題,因為這類似於同步代碼中的未處理異常。
因此,只要您正在處理所有可能的錯誤,就像您使用somePostProcessing().catch(...)
一樣,那么忽略完成就沒有問題。
注意:您確實需要確保您的代碼預測到如果await doCreateOrder()
中出現錯誤會發生什么,因為這將立即拒絕 createOrder() 返回的 promise 因此 createOrder createOrder()
createOrder()
的調用者需要有一個處理程序來處理被拒絕的promise 或者您需要在此 function 中使用try/catch
來捕獲和處理可能的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.