收藏
回答

云函数使用request-promise得到的结果在云函数使用为空值,但小程序是正常有值,为什么?

在云函数使用request-promise出现问题,resolve(body)可以正常的将数据返回给小程序,但如果直接在云函数使用body,他就是一个空值

eturn new Promise((resolve,reject)=>{

    request({

      url:url,

      method:method,

      json:true,

      form:data,

      header:header

    },function(error,response,body){

      resolve(body)

      

        

    })

  }) 

上面没问题

下面有问题

return new Promise((resolve,reject)=>{

    request({

      url:url,

      method:method,

      json:true,

      form:data,

      header:header

    },function(error,response,body){

      

      resolve(body.result)

      

        

    })

  }) 

在小程序端运行body.result有值,但在云函数这么运行没有值,这是为什么,卡了很久研究不出来,麻烦大佬告诉下

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

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-08-10

    你这是request,不是request-promise,地址能给一下吗?日志你也不提供,谁知道你说啥

    2020-08-10
    有用 1
    回复 6
    • 心贤
      心贤
      2020-08-10
      const request = require(‘request-promise’)
      那个这个是request-promise,只是名字定义成request,我想问的是resolve(body)在小程序是有值有结果,但如果我直接在云函数里面使用body他就是个空值,我不明白为什么会这样
      2020-08-10
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-08-10回复心贤
      因为body是个json字符串。
      2020-08-10
      回复
    • 心贤
      心贤
      2020-08-10回复Mr.Zhao
      大佬还是不行呀,使用JSON.parse会报关于JSON的错
      2020-08-10
      回复
    查看更多(1)
登录 后发表内容
问题标签