收藏
回答

怎么在for循环中使用处理async/await网络请求?

我有一组数据去设置硬件接口,列如:

                1.一个联网的排插,设置6个插孔的名字、类型这是一个接口需要设置6次。(我也不想)

                2.设置每个插孔的定时开关,也需要设置6个插孔6次。而且需要第一个接口6次全部完成以后才开始设置第二个定时接口。

                3.在第一第二个接口完成以后,还需要设置第三个接口也是6个插孔6次。

                一次类推:

                .

                .

                .

                .

                .

                .

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

2 个回答

  • 老张
    老张
    2019-08-23

    let request = promisify(wx.request) //wx.request要promisify

    myFunc: async function(){

        //step 1

        for(let i=0;i<6;i++){

            res = await request(...)

        }

        //step 2

        //step 3

    }

    2019-08-23
    有用
    回复 3
    • 2019-08-23
      每个接口我需要间隔200ms以上在调用
      2019-08-23
      回复
    • 老张
      老张
      2019-08-23回复
      感觉这种事应该放在后台去做,放小程序端的话,万一手机干点别的,小程序关闭,就出错了。
      2019-08-23
      回复
    • 2019-08-23回复老张
      是个这个项目已经已经有APP了。安卓和苹果都是这么做的。我也不知道他们是怎么想的。
      2019-08-23
      回复
  • 可恶の小郑
    可恶の小郑
    2019-08-23

    建一个数组,往里丢promise,然后promise.all,你这里可以考虑用递归去循环

    2019-08-23
    有用
    回复 1
    • 2019-08-23
      这是个用户推荐设置,明明我前端只需要传个tyoe值就能解决的事情,去让我调6个接口每个接口调用6遍!!!还不能异步,同步还需要间隔200ms以上
      2019-08-23
      回复
登录 后发表内容
问题标签