我有這行代碼:如何從回調中獲取值?
let message = channel.consume(queue, msg => {
console.log('Return this in the "message" variable', msg.content);
});
當我試圖登錄的message
的價值,它並不等同於msg.content
但它會從consume
方法的返回值。爲了讓我從回調中獲得正確的價值,什麼是解決方法。
感謝
我有這行代碼:如何從回調中獲取值?
let message = channel.consume(queue, msg => {
console.log('Return this in the "message" variable', msg.content);
});
當我試圖登錄的message
的價值,它並不等同於msg.content
但它會從consume
方法的返回值。爲了讓我從回調中獲得正確的價值,什麼是解決方法。
感謝
您不能「返回」回調的值。而且,這樣做沒什麼意義,因爲在代碼執行之後,該代碼將在執行回調之前執行。
雖然它不是「返回」的值,但可以使用Promise。
如果您可以從ES7進行轉儲,則可以使用async-await,它允許您使用await
在async
函數內使用同步代碼調用異步函數。
我根本不關注你問的問題。我不知道'channel.consume()'返回併發送到回調函數,所以你必須先解釋它。然後,解釋你到底想要發生什麼。 – Brad
有人需要爲包含協程,異步/等待和承諾的異步函數編寫新的通用答案。 – slebetman