当我使用async await函数时,我得到DeprecationWarning:
export const publish = async (exchange, type, message) => {
try {
const connection = await amqplib.connect(connectionString)
const channel = await connection.createChannel()
channel.assertExchange(exchange, config.messageQueue.exchange.type, {durable: true})
logger.silly(`publishing message to ${exchange}`)
channel.publish(exchange, '', type.encode(message).finish())
}
catch (e) {
logger.warn(`error while publishing message, ${e}`)
throw e
}
}
const startConsuming = async () => {
try {
const {Get, Sort, Cleanup, ...elasticMessages} = expectedMessages
await init(Object.keys(elasticMessages))
amqpService(expectedMessages, onMessage)
publish(`${config.messageQueue.exchange.prefix}Cleanup`, contracts.televic.historyLogging.Call, '')
} catch (e) {
logger.error('error while establishing connection to message bus', e)
}
}
您前面没有
publish(`${config.messageQueue.exchange.prefix}Cleanup`, contracts.televic.historyLogging.Call, '')`
但是
因此代码必须是这样的:
const startConsuming = async () => {
try {
const {Get, Sort, Cleanup, ...elasticMessages} = expectedMessages
await init(Object.keys(elasticMessages))
amqpService(expectedMessages, onMessage)
await publish(`${config.messageQueue.exchange.prefix}Cleanup`, contracts.televic.historyLogging.Call, '')
} catch (e) {
logger.error('error while establishing connection to message bus', e)
}
}