返回顶部
首页 > 资讯 > 精选 >js如何获取异步函数数据
  • 650
分享到

js如何获取异步函数数据

2023-07-05 05:07:21 650人浏览 泡泡鱼
摘要

本篇内容介绍了“js如何获取异步函数数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!异步函数一般正常情况下,js中的函数是一个一个地按照顺

本篇内容介绍了“js如何获取异步函数数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

异步函数

一般正常情况下,js中的函数是一个一个地按照顺序来完成的。但是异步函数可以改变执行顺序。不过异步任务必须在同步任务执行结束之后,从任务队列中依次取出执行。

常见的异步函数一共有四类:

  • 回调函数

  • promise函数

  • Generator函数

  • async/await函数

1. 回调函数

回调函数一般是作为某个函数的入参,然后在函数内部执行这个回调函数。常见的回调函数有ajax,setTimeouut定时器类,dom事件回调等。

testA(cb) {cb();}setTimeout(() => {console.log('这是一个回调函数')}, 100)

缺点: 不能try catch捕获错误, 不能直接return。

promise

promise函数是一种特殊的异步函数,里面包含三种状态:pending、fulfilled(resolved)、rejected。pending是promise的初始状态,resolved表示执行完成且成功的状态,rejected表示执行完成且失败的状态。三个状态不可逆转

Promise本身是同步,then的内容是异步:

let promiseFunc = new Promise((resolve, reject) => {  // 执行同步代码  resolve();}).then((res) => {  console.log(res)},(err) => {  console.log(err);})

Generator函数

Generator 是一个可以暂停执行(分段执行)的函数,函数名前面要加星号,是一个状态机,封装了多个内部状态。

function *myTest() {  yield 'I',  yield 'am',  yield 'queen'}

async/await函数

async修饰符加在函数前面,返回一个promise,可以使用then添加回调函数。 await后跟着一个promise或者一个原始类型的值(会自动转成立即 resolved 的 Promise 对象),等待resolve的结果。任何一个await后的Promise发生reject,整个aysnc都会中断,需要try{}catch(err){}来捕获错误。

async function myTest() {  let val = await new Promise((resolve) => {    resolve(1)  });}

如何获取异步函数的数据

获取异步函数的数据一般分为三种:回调函数,promise和async和await

回调函数

回调函数的这种很简单,就是直接将数据传进回调函数里作为入参即可。

function getData(cb) {  let val = 'a';  cb(val);}getData((data) => {  console.log(data);   // 'a'})

promise

使用promise来处理异步,主要就是利用resolve成功的回调函数,reject失败的回调函数。

let promiseFunc = new Promise((resolve, reject) => {  let n = Math.random();  if (n >= 0.7) {    resolve(n);  } else {    reject(`${n}小于0.7`)  }});promiseFunc.then((data) => {  console.log(data);   // 0.3小于0.7})

async await

async: 把函数变成异步函数。wait是等待异步函数执行完成。其中await一定要写在async里面

async function myTest() {  return '我是测试数据'};async function getData() {  let val = await myTest();  console.log(val);   // 我是测试数据}

“js如何获取异步函数数据”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: js如何获取异步函数数据

本文链接: https://lsjlt.com/news/349899.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js如何获取异步函数数据
    本篇内容介绍了“js如何获取异步函数数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!异步函数一般正常情况下,js中的函数是一个一个地按照顺...
    99+
    2023-07-05
  • JavaScript如何实现异步获取表单数据
    这篇文章主要介绍JavaScript如何实现异步获取表单数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文实例为大家分享了JavaScript实现异步获取表单数据的具体代码,供大家参考,具体内容如下在上一篇文章中...
    99+
    2023-06-15
  • vue中异步数据获取方式(确保数据被获取)
    目录vue中异步数据获取1、获取异步数据,通过async/await限制 2、将一个方法的返回值vue处理数据(同步,异步)问题简单记录情况介绍最终解决方法:new Pro...
    99+
    2024-04-02
  • ajax中怎么异步获取数据
    这篇文章给大家介绍ajax中怎么异步获取数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:<script type="text/javascript...
    99+
    2024-04-02
  • JavaScript实现异步获取表单数据
    本文实例为大家分享了JavaScript实现异步获取表单数据的具体代码,供大家参考,具体内容如下 在上一篇文章中讲到了使用JavaScript异步提交表单中的数据,那么今天我们就讲讲...
    99+
    2024-04-02
  • JS如何实现异步函数队列功能
    小编给大家分享一下JS如何实现异步函数队列功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:场景:做直播,会有入场消息...
    99+
    2024-04-02
  • Ajax异步获取html数据中包含js方法无效怎么办
    小编给大家分享一下Ajax异步获取html数据中包含js方法无效怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!页面上使用j...
    99+
    2024-04-02
  • vue实现加载页面自动触发函数(及异步获取数据)
    目录加载页面自动触发函数实例页面加载时,触发某个函数的方法解决方法如下加载页面自动触发函数 实例 methods:{ onCreate:async function() ...
    99+
    2024-04-02
  • react函数组件useState异步,数据不能及时获取到的问题
    目录react useState异步,数据不能获取到问题解决方法一react中useState的使用及注意事项基本使用注意事项react useState异步,数据不能获取到 use...
    99+
    2022-11-13
    react useState异步 react 数据异步 react useState
  • PHP 函数如何获取参数?
    php 函数接收参数有两种方式:按值传递或按引用传递。按值传递将副本传递给函数,对副本的更改不会影响原始值;按引用传递将引传递给函数,对副本的更改会影响原始值。函数参数可以有默认值。 ...
    99+
    2024-04-10
    php 获取参数
  • js如何获取数组极值
    小编给大家分享一下js如何获取数组极值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!获取数组极值function smallest(array){&nb...
    99+
    2023-06-27
  • vue中异步数据获取方式是什么
    今天给大家介绍一下vue中异步数据获取方式是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。vue中异步数据获取1、获取异步数据,通过async/await...
    99+
    2023-06-28
  • 原生JS如何发送异步数据请求
    这篇文章主要介绍原生JS如何发送异步数据请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在做项目的时候,有时候需要用到异步数据请求,但是如果这个时候没有框架的依赖,就需要用到原生J...
    99+
    2024-04-02
  • 浅析JS的异步函数async/await
    async/await 可能会产生误导有些文章将 async/await 与 Promise 进行比较,并声称它是 JavaScript 异步编程发展的下一代,这一点个人觉得有点误导,个人认为 async/await 是一种改进,一个语法糖...
    99+
    2023-05-14
    JavaScript ECMAScript 6 Node.js
  • 如何使用PHP做异步爬取数据
    这篇“如何使用PHP做异步爬取数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用PHP做异步爬取数据”文章吧。什么是...
    99+
    2023-07-05
  • js中异步函数asyncfunction变同步函数的简单入门
    目录js异步函数async function变同步函数入门异步函数(async/await)异步函数异步函数策略总结js异步函数async function变同步函数入门 js 中异...
    99+
    2023-05-17
    js异步函数 js async function js同步函数
  • python如何获取函数名
    在python中获取函数名的方法在类内部获取函数名import sysclass testsqawd(object):def hello(self):print('the name of method is ## {}##'.format(...
    99+
    2024-04-02
  • js如何获取URL中的参数
    这篇文章主要介绍js如何获取URL中的参数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!获取 URL 中的参数这个需求在三大框架的时代应用貌似不多了,不过面试中问的还是蛮多的,了解一下是好的简单实现var ...
    99+
    2023-06-27
  • html如何获取数据
    html不能直接获取数据。获取数据的方法包括:使用javascript通过html元素获取数据或发送ajax请求。使用服务器端脚本语言连接数据库或其他数据源,或调用api。 HTML如...
    99+
    2024-04-11
    数据访问 html元素
  • redis如何获取数据
    redis 提供以下获取数据的方式:get:获取指定键的值。mget:同时获取多个键的值。hget:获取哈希表中指定字段的值。hgetall:获取哈希表中所有字段的值。lindex:获取...
    99+
    2024-04-20
    redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作