async/await:connect([url, [socketOptions]])
callback:connect([url, [socketOptions]], function(err, conn) {…})
url:
- 套接字选项:amqp://guest:guest@localhost:5672,amqp://管理员账号@管理员密码@xxx.xxx.xxx:5672适用在远端机器
- AMQP URL:amqp://localhost,本地机器缺少参数会自动补齐
socketOptions:
- frameMax,连接上允许最大帧的大小,0表示没有限制,
- channelMax,最大通道数,默认0,最大2^16-1
- heartbeat,心跳间隔,默认未0
- locale,语言环境,RabbitMQ只能用en_US
```javascript // callback new Promise((resolve,reject)=>{ const options = { frameMax: 0,// 连接上允许最大帧的大小,0表示没有限制 channelMax: 0,// 最大通道数,默认0,最大2^16-1 heartbeat: 0,// 心跳间隔,默认未0 locale:’en_US’,// 语言环境,RabbitMQ只能用en_US }; amqp.connect(‘url’,(error1,options,connection){ if(error1) throw reject(error1); connection.creatcChannel(error2,channel){// async/await(async () => {try {const options = {frameMax: 0,// 连接上允许最大帧的大小,0表示没有限制channelMax: 0,// 最大通道数,默认0,最大2^16-1heartbeat: 0,// 心跳间隔,默认未0locale:'en_US',// 语言环境,RabbitMQ只能用en_US};const connection = await amqp.connect('url',options)const channel = connection.createChannel();return { connection, channel }} catch (e) {console.log(e)}})()
} }) })if(error2) throw reject(error2);return resolve({connection,channel})
```
