azure basic HTTP trigger NodeJS async



为什么这不会向我发送任何数据。我正在使用Postman,并且没有发送任何结果。某种类型的异步问题?也许我没有配置此azure http触发function.json配置?

当我将本地对象传递给响应时,这很好。只有当我尝试使用异步失败时。目前,我正在将功能部署到Azure Cloud之前在本地开发机器上进行测试。

functions.json

{
  "disabled": false,
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ]
}

index.js

const axios = require('axios');
module.exports = async function (context, req) {
    axios.get('https://jsonplaceholder.typicode.com/todos/1').then(response=>{
        console.log(response.data) // This is coming thru fine.
        context.res = {
            status: 200,
            body: response.data
        }
        context.done();
    }).catch(error=>{
        context.res = {
            status: 400,
            body: error
        }
        context.done();
    })
}

我诚实地相信我之前有过的代码,但是我下面提供的更凝结的版本似乎可以完成工作,但是如果有人遇到了这个问题,您可能想尝试重新启动本地开发服务器,它可能会为您解决问题

已解决

const axios = require(‘axios’);
module.exports = async function (context, req) {
    let d = await axios.get(‘https://jsonplaceholder.typicode.com/todos/1’);
    context.res = {
        status: 200,
        body: d.data
    }
    context.done()
}

最新更新