请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问await Promise().then() 这是什么写法

!(async function() {
    await redisClient.connect()
        .then(() => console.log('redis connect success!'))
        .catch(console.error)
})()

老师,您的课程中有这样一段代码,请问为什么await和.then 放到一起了,这样不是重复了吗。
还是说这样写有什么用意呢,求老师解惑~

正在回答 回答被采纳积分+3

1回答

双越 2024-01-05 22:08:05

不一样的,你可以写一段 demo 自己试试,例如

const a = await Promise.resolve(100).then(n => n + 1);
const b = Promise.resolve(100).then(n => n + 1);

打印 a b 两者是不一样的

0 回复 有任何疑惑可以回复我~
  • 提问者 慕九州3428917 #1
    好像明白了,也是就说,最开始那段代码, 加了await,会等待整个Promise链完成,即等待consolo.log也执行完毕,再执行后面的语句,如果不加await,会立刻执行后面的语句,不等待.then()执行完毕是吗。
    那最开的那段代码,是不是写成这样也是一样的效果:
    try{
        await redisClient.connect()
        console.log('redis connect success!')
    }catch(e){
        console.error
    }
    回复 有任何疑惑可以回复我~ 2024-01-06 16:19:19
  • 双越 回复 提问者 慕九州3428917 #2
    你可以直接把代码改成这样,试试
    回复 有任何疑惑可以回复我~ 2024-01-07 10:53:22
  • 提问者 慕九州3428917 回复 双越 #3
    改成这样是没问题的~
    回复 有任何疑惑可以回复我~ 2024-01-07 12:27:00
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号