Promise-async-await处理函数
/*function request() { // 此处的request返回的是一个Promise
return new Promise((resolve, reject) => {
ajax({
url: 'www.someurl.com',
onSuccess(res) {
resolve(res);
},
onFail(err) {
reject(err);
}
});
});
}*/
function request2() { // 此处的request返回的是一个Promise
return new Promise((resolve, reject) => {
ajax({
url: 'www.someurl.com',
onSuccess(res) {
resolve(res);
},
onFail(err) {
reject(err);
}
});
});
}
/*let it = gen();
let p = it.next().value; // p是yield返回的Promise
p.then(res => it.next(res),
err => it.throw(err) // 发生错误时,将错误抛入生成器
);
function* gen() {
try {
let response = yield request();
console.log(response.text);
} catch (error) {
console.log('Ooops, ', error.message); // 可以捕获Promise抛进来的错误!
}
}
*/
fetch(request2);
async function fetch(request1) {
//console.log(request1)
try {
let response = await request1(); // request定义同上一端段示例代码
console.log(response1.text);
} catch (error) {
console.log('Ooops, ', error.message);
}
}
Promise-async-await处理函数的更多相关文章
- vue使用技巧:Promise + async + await 解决组件间串行编程问题
业务场景描述 大家都通过互联网投递过简历,比如在智联.58.猎聘等平台.投递心仪的职位前一般都需要前提创建一份简历,简历编辑界面常规的布局最上面是用户的个人基本信息,如姓名.性别.年龄.名族等,接着是 ...
- promise async await使用
1.Promise (名字含义:promise为承诺,表示其他手段无法改变) Promise 对象代表一个异步操作,其不受外界影响,有三种状态: Pending(进行中.未完成的) Resolved( ...
- Promise,async/await解决回调地狱
先说一下async的用法,它作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行. 写一个async 函数 as ...
- 一道题理解setTimeout,Promise,async/await以及宏任务与微任务
今天看到这样一道面试题: //请写出输出内容 async function async1() { console.log('async1 start'); await async2(); consol ...
- angular2 学习笔记 ( Rxjs, Promise, Async/Await 的区别 )
Promise 是 ES 6 Async/Await 是 ES 7 Rxjs 是一个 js 库 在使用 angular 时,你会经常看见这 3 个东西. 它们都和异步编程有关,有些情况下你会觉得用它们 ...
- c# async,await, 委托函数
1.c#的异步实现,之前代码编写大都开几个线程. 现可以使用“async+await”方式实现异步(具体不详细介绍,暂且止在会用,仅仅是c#更新史上一个工具): static void Main(st ...
- 一种通过async/await实现函数同步执行的方式
const testArr = [ () => { return new Promise((resolve, reject) => { setTimeout(()=> { alert ...
- ES6 class setTimeout promise async/await 测试Demo
class Person { async getVersion () { return new Promise((resolve, reject) => { setTimeout(functio ...
- C# Async/Await异步函数原理
原理 与同步函数相比,CLR在执行异步函数时有几个不同的特点: 1. 并非一次完成,而且分多次完成 2. 并非由同一个线程完成,而是线程池每次动态分配一个线程来处理: 结合 ...
- 【promise| async/await】代码的控制力
什么样的代码好控制? 结构 + 节奏 --- 什么鬼? 如何控制节奏? 具体例子看看怎么控制节奏?
随机推荐
- VBS猜数游戏
VBS 猜数游戏 2018-11-09 21:19:11 by xutao msgbox "The Swami" ,,"Game" msgbox " ...
- 初步了解three.js
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Confluence 6 配置一个 Confluence 环境
本部分对你 Confluence 的外部设置进行描述.包括有如何配置 Web 服务器,应用服务器,目录和文件等信息—— Confluence 运行所需要的所有环境.有关在服务器内部对配置进行修改的内容 ...
- Confluence 6 修改站点图标(favicon)
你也可以修改你站点的图标(这个站点图标将会在你浏览器的标签页上显示).你需要 Confluence 的管理员权限才能进行修改. 进入 > 基本配置(General Configuration) ...
- mongo 的导入和导出
1.导出工具:mongoexport 1.概念: mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指 ...
- Metasploit 使用后门和Rootkit维持访问
1.内存攻击指的是攻击者利用软件的漏洞,构造恶意的输入导致软件在处理输入数据时出现非预期的错误,将输入数据写入内存中的某些敏感位置,从而劫持软件控制流,转而执行外部的指令代码,造成目标系统获取远程控制 ...
- hdu4990 转移矩阵
找了半天错发现m有可能是1.. /* 如果n是奇数,就进行(n/2)次转移,然后取F[2],反之取F[1] */ #include<bits/stdc++.h> using namespa ...
- JAVA菜鸟入门HelloWorld
一:HelloWorld进入菜鸟心中 1.最原始的一切从HelloWorld开始 首先本机安装JDK,配置好path环境变量 用文本编辑器editplus或notepad++创建一个HelloWorl ...
- 从认识面向对象到构造函数的标准写法(构造函数的继承、多态、ECMA6中新代替语法class) - 下
笔记一个包含:认识面向对象.构造函数的封装.继承.多态.ECMA6中新代替语法class 下:包括构造函数的继承.多态.ECMA6中新代替语法class 构造函数的继承 从父一级延续下来的属性和功能( ...
- Allegro PCB Design GXL (legacy) 将指定的层导出为DXF
Allegro PCB Design GXL (legacy) version 16.6-2015 1.菜单:Display > Color/Visibility... 2.打开Color Di ...