如何从回调中获取值

How to get a value from a callback?

本文关键字:获取 回调      更新时间:2023-09-26

我有这行代码:

let message = channel.consume(queue, msg => {
  console.log('Return this in the "message" variable', msg.content); 
});

当我试图记录message的值时,它不等于msg.content,但它从consume方法的返回中获得值。为了让我从回调中获得正确的值,变通方法是什么。

谢谢

var message;
channel.consume(queue, msg => { message = msg.content; });

不太确定你在问什么,但你是否试图在回调中设置message ?

不能"返回"回调的值。而且,这样做也没有什么意义,因为该代码之后的行将在回调执行之前执行。

当它不"返回"值时,你可以使用Promise。

如果你可以从ES7编译,你可以使用async-await,它允许你在awaitasync函数中使用同步代码调用异步函数。