H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【前端问题精选】怎么获取异步匿名函数内部的返回值

export default class HController {
    //路由
    Url('/index/index')
    //渲染模板
    Render("home/index.html")
    //调用函数
    index(){
        //这里需要跨域获取值,
        (async function () {
            const fetch = require('node-fetch');
            const res = await fetch('http://www.xxx.com/shop/index.php');
            const json = await res.json();
            //获取的值可以拿到外面使用,其他方法可以实现跨域获取,并能赋给全局变量也可
        })();
    }

}

我该怎么写,才能把json变量的值拿到函数外面使用?

回答:

async function fn() {
    const fetch = require('node-fetch');
    const res = await fetch('http://www.xxx.com/shop/index.php');
    const json = await res.json();
    return json;
}
const json = fn()

回答:

async function fn() {
    const fetch = require('node-fetch');
    const res = await fetch('http://www.xxx.com/shop/index.php');
    const json = await res.json();
    return json;
}
fn().then((res)=>{  //因为fn返回的是一个promise,所以需要通过调用then方法才能取到值
   const json=res   //你可以在这里赋值,做其它事
   console.log(json)
})

我最近做的基于Vue2.0的仿QQ项目里大量使用了async/await来处理异步,里面写了很多种取得异步函数的返回值的方式,你可以参考一下,地址是:https://github.com/lensh/vue-qq

本文地址:H5W3 » 【前端问题精选】怎么获取异步匿名函数内部的返回值

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址