收藏
回答

获取editor 赋值之后为空 怎么解决?

       var infoList = "";

       that.editorCtx.getContents({

        success: function(res) {

          //console.log(res.text)

          var infoitem;

          infoitem='{"' + that.data.jsonName[0+ '":"'+ res.text +'","' + that.data.jsonName[1+ '":"' + that.data.tempFilePaths + '","' + that.data.jsonName[2+ '":"' + that.data.classify1 + '","'+ that.data.jsonName[3+ '":"'+ that.data.classify2 + '","' + that.data.jsonName[4+ '":"' + that.data.classifyid + '","' + that.data.jsonName[5+ '":"' + that.data.price + '","' + that.data.jsonName[6+ '":"' + that.data.inventory + '"}';

          infoList='"IssueIdle":['+ infoitem +']';

          console.log("=======1111111=========" + infoList);

        }

      })

      console.log("=======2222222=========" + infoList);

回答关注问题邀请回答
收藏

4 个回答

  • Smooth
    Smooth
    2021-11-10

    2222那里为空是因为还没执行赋值的操作就打印了,因为该同步操作会先于1111那些异步操作代码里的赋值。

    解决方法:可以将2222那部分代码放到定时器里面(异步操作),例如:

    setTimeout(() =>{
        console.log("=======2222222=======" + infoList);
     }, 2000);
    
    2021-11-10
    有用 1
    回复
  • 没事
    没事
    2021-11-10

    发起网络请求的时候是不是使用了async?如果的话请求在发送的时候不会影响其他进程的执行。http://www.ruanyifeng.com/blog/2015/05/async.html

    2021-11-10
    有用 1
    回复
  • 知非
    知非
    2021-11-10

    好像是还没赋值完成的时候就打印输出了。

    2021-11-10
    有用
    回复
  • 困难
    困难
    2021-11-10

    从打印结果就能看出来,很显然222那句先执行,111那句后执行且111的打印里有结果,说明你在未执行赋值的时候就去取值了。

    2021-11-10
    有用
    回复
登录 后发表内容