()=>async()=> 是啥意思?
Posted
技术标签:
【中文标题】()=>async()=> 是啥意思?【英文标题】:What does ()=>async()=> mean?()=>async()=> 是什么意思? 【发布时间】:2020-06-26 17:22:14 【问题描述】:我对那个 redux thunk 操作感到困惑:
import axios from 'axios';
export const GET_CHANNELS = 'GET_CHANNELS'
export const getChannels = () => async (dispatch, getState) =>
const res = await axios.get('https://v-forum-api.bahdcasts.com/api/channels')
dispatch(
type: GET_CHANNELS,
payload: res.data
)
以下构造是什么意思?
const getChannels=()=>async()=>
您能否提供该表达式的任何文章链接? 谢谢
【问题讨论】:
这是一个返回函数的函数(本例中为异步)。阅读 redux-thunk 文档。 这有帮助吗? ***.com/a/42964310/1871033 - w3schools.com/js/js_arrow_function.asp 这能回答你的问题吗? Syntax for async arrow function 【参考方案1】:它是一个返回另一个(异步)函数的函数。
忽略箭头函数和常规函数之间this
的语义差异,用常规函数编写相同内容的一种可能更清晰的方法是:
const getChannels = function ()
return async function (dispatch, getState)
// ...
调用者将调用getChannels()
并返回一个函数,然后也可以调用该函数。
const innerFunction = getChannels()
await innerFunction(dispatch, getState)
【讨论】:
我注意到你回答你很棒【参考方案2】:const getChannels = () => async() =>
某种程度上等于:
function getChannels()
return async function()
使用箭头函数(改变this
的用法)& getChannels 是常量块级变量。
【讨论】:
以上是关于()=>async()=> 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章