关于return new Promise

关于return new Promise

 getHotkeyWork(){

      return getSearchHotKeyword().then(data=>{

          return new Promise(resolve=>{

            if(data){

              this.hot=data;

              resolve()

            }

          })

      })

    }

这里为什么getSearchHotKeyword().then里面,还要new一个新的Promise??没理解到

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

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2020-04-28 10:50:33

同学你好,简单理解是因为这里需要进行一个判断,保证data有值时,再将promise对象状态修改为成功状态,让代码更加严谨。

可以将data取反,测试如果data没有值时的状态,那么就是一直加载的状态。示例:

http://img1.sycdn.imooc.com//climg/5ea796b609f66bbf10300472.jpg

http://img1.sycdn.imooc.com//climg/5ea796c309c2a35f07040276.jpg

同学可以结合源码测试理解下,祝学习愉快~

  • 提问者 慕仰2255090 #1
    是不是可以理解为,如果我不new一个新的promise,就没办法在if判断后,进行一次resolve的调用
    2020-04-28 16:49:20
  • 好帮手慕慕子 回复 提问者 慕仰2255090 #2
    同学你好,可以这样理解,祝学习愉快~
    2020-04-28 18:07:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师