如何在获取时发送数据并接收返回?

Posted

技术标签:

【中文标题】如何在获取时发送数据并接收返回?【英文标题】:How can I send data on a get and receive a return? 【发布时间】:2022-01-09 21:58:23 【问题描述】:

我必须在获取请求中发送这些数据,但我不知道该怎么做。你能帮帮我吗?

const ROUTE = "public/v1/route";

export async function showRoute(
  flow: string,
  token: string
): Promise<RouteParams> 
  const response = await client.get(ROUTE);
  return response.data;

【问题讨论】:

您可以定义一个变量并将异步函数的返回值放入其中,然后在您想要的任何地方使用该变量中的值 【参考方案1】:

您可以使用async/await.then() 承诺链:

import showRoute from './path-to-showRoute'

showRoute(/* params */).then(data => sendGetRequest(data))

//or

async function sendRouteInfo()
  const routeData = await showRoute(/* params */)
  if (routeData) sendGetRequest(routeData)

PS:sendGetRequest 是一个模拟函数,它只是使用axiosfetch 发送一个get 请求

【讨论】:

我不明白对不起我需要发送这个令牌和流,你能展示一个类似于我的代码的例子吗?【参考方案2】:

axios.get($URL) .then(response => console.log(response.data) .catch(err)=> console.log(err)


就是当你使用 axios (npm i axios) 然后导入它

【讨论】:

【参考方案3】:

我认为您正在寻找的是Fetch-API。例如,

const ROUTE = resourcePath + '?' + new URLSearchParams( ...params )

fetch(ROUTE) // sends a GET request
  .then((res: Response) => res.json() as MyExpectedDataType) // parses JSON response content
  .then((data: MyExpectedDataType) => 
    // do something with data
  )
  .catch(err => 
  )

// or
async function showRoute(): Promise<Something> 
  try 
    const res: Response = await fetch(ROUTE)
    const data = await res.json() as MyExpectedDataType
    // do something with data
  
  catch (err) 
  

fetch 返回一个 Promise 类型,您可以在该类型上使用 .then 链接异步回调,并使用 .catch.finally 处理错误。您还可以将请求方法、标头、正文内容等作为可选的第二个参数传递给fetch,请参阅文档。

【讨论】:

以上是关于如何在获取时发送数据并接收返回?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Sockets 发送和接收数据

安卓开发蓝牙接收数据,返回数据如何处理

Postman测试工具调试接口详细教程向后端发送Json数据并接收返回的Json结果

js如何接收并显示返回值

如何通过 POST (Ajax) 发送 JSON 数据并从 Struts 2 操作接收 JSON 响应

获取发送表单数据并从 php 接收它