0
我有一個主要功能,用於執行特定的查詢和解析響應。該函數的第一步是驗證賦予該函數的參數。然後我將生成查詢,簽名併發送。最後,我會處理回覆。NodeJS結合鏈接同步和異步功能,然後
對於發送查詢,我想使用承諾模式。我想要的是主要功能會返回一個承諾。問題是,大多數函數是同步的而不是異步的,所以我不應該使用promise。我想要的是這樣的:
return this.validateQueryAttributes(attributes)
.then(generateQuery)
.then(signQuery)
.then(sendQuery)
.then(handleResponse);
問題是,第一個函數沒有返回一個promise。所以我不能將它與其他功能連接起來,因爲當時的模式期望得到承諾。另外,我有一個.catch函數,我想用它來捕獲可能發生在我打電話的任何函數中的錯誤條件。如果我不會將第一個函數與其他函數鏈接起來,那麼在第一個函數中發生的錯誤將不會被捕獲?
是的,但是如果函數本身是同步的,你永遠不應該返回一個promise。您應該只使用承諾異步功能。 –
這是否是這種情況下的最佳做法?如果您認爲是,請將其作爲答案發布。以及如何使這個異步包裝:) –