await

async await练习随笔

匿名 (未验证) 提交于 2019-12-02 23:56:01
(function(){ /* async function timeout(){ return "hello async"; } timeout().then(result => { console.log(result); }) //console.log(timeout()); async function asyncFn() { return "我后执行"; }; asyncFn().then(result => { console.log(result); }) console.log("先执行"); //async会被定义为异步函数,不会影响后面正常的执行。 async function test() { throw new Error("it's error"); }; test().then(success => console.log('成功了',success)) .catch(error => console.log("失败了",error)); async function throwStatus() { return "show all"; }; throwStatus().then(success => console.log("成功",success)) .catch(error => console.log("失败",error)); async

测试Promise与Async/await的基本使用

匿名 (未验证) 提交于 2019-12-02 23:55:01
想在项目中用, 发现自己不是很熟 new Promise() 返回了一个状态机 一个完全无法被外界影响的状态机 构造函数, 传入一个函数, 两个参数, 分别是 reslove, reject 表示执行的回调函数, 也就是 .then() , .cache() 函数 达到内部调用外部函数的作用, 行程异步 function init () { var p = new Promise (( resolve , reject ) => { reject ( new Error ( 1 )) }) p . then ( a => { console . log ( a ) }). catch ( b => { console . log ( b ) }) console . log ( p ) } init () 命名不可错误 reject回调函数中, 尽量放入一个 new Error 如果直接在 new Promise() 的构造函数中, throw new Error() 也不会触发程序的停止, 而是被外面的 .cache() 所捕获 如果函数没有进行 .cache() 的话, 会抛出异常 但不会影响其他程序的执行 function init () { var p = new Promise (( resolve , reject ) => { throw new Error ( 1

Http模块

匿名 (未验证) 提交于 2019-12-02 23:52:01
1、Volo.Abp.Http.Abstractions 配置 public class ApiDescriptionModelOptions { public HashSet<Type> IgnoredInterfaces { get; } public ApiDescriptionModelOptions() { IgnoredInterfaces = new HashSet<Type> { typeof(ITransientDependency), typeof(ISingletonDependency), typeof(IDisposable), typeof(IAvoidDuplicateCrossCuttingConcerns) }; } } 2、Volo.Abp.Http [DependsOn(typeof(AbpHttpAbstractionsModule))] [DependsOn(typeof(AbpJsonModule))] public class AbpHttpModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { Configure<AbpApiProxyScriptingOptions>(options => {

async和await的使用

匿名 (未验证) 提交于 2019-12-02 23:42:01
async 其实是ES7的才有的,其实是异步操作的进化,其实就是 封装一个Promise的对象返回 async function test(){ return 1111 } console.log(test()) //Promise {<resolved>: 1111} async方法在普通的函数前加上"async"关键字即可。执行这个函数,发现并没有返回1111,而是通过Promise.resolved()将1111封装成了一个Promise对象返回。既然是返回的Promise对象,用then方法来处理。 test().then(res=>{ console.log(res) //1111 }) await 在Generator章节中我们熟悉了yield关键字,yield关键字只能使用在Generator函数中,同样,await关键字也不能单独使用,是需要使用在async方法中。 await字面意思是"等待",那它是在等什么呢?它是在等待后面表达式的执行结果。 function testWait(){ return new Promise((resolve,reject)=>{ setTimeout(function(){ console.log("testWait"); resolve(); }, 1000); }) } async function test(){ await

js同步操作

匿名 (未验证) 提交于 2019-12-02 23:40:02
async/await 1.Async/Await简介 使用async/await,你可以轻松地达成之前使用生成器和co函数所做到的工作,它有如下特点: async/await是基于Promise实现的,它不能用于普通的回调函数。 async/await与Promise一样,是非阻塞的。 async/await使得异步代码看起来像同步代码,这正是它的魔力所在。 一个函数如果加上 async ,那么该函数就会返回一个 Promise async function async1() { return "1" } console.log(async1()) // -> Promise {<resolved>: "1"} Generator函数依次调用三个文件那个例子用async/await写法,只需几句话便可实现 let fs = require('fs') function read(file) { return new Promise(function(resolve, reject) { fs.readFile(file, 'utf8', function(err, data) { if (err) reject(err) resolve(data) }) }) } async function readResult(params) { try { let p1 = await

BackgroundWorker

匿名 (未验证) 提交于 2019-12-02 23:40:02
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Diagnostics; using System.Threading.Tasks; using System.Threading; namespace 异步编程 { class Program { static void Main(string[] args) { MyDownloadString ds = new MyDownloadString(); ds.DoRun(); Console.ReadKey(); } } class MyDownloadString { Stopwatch sw = new Stopwatch(); public void DoRun() { const int LargeNumber = 6000000; sw.Start(); Task<int> t1 = CountCharacterAsync(1, "http://www.microsoft.com"); // t1.Wait(); 等待这个任务执行完成再去执行其他 Task<int> t2 =

c# 异步 async await

為{幸葍}努か 提交于 2019-12-02 21:33:35
在C#中使用异步 async await 1 class Program 2 { 3 public static async Task Main(string[] args) 4 { 5 var result = await Save(); 6 Console.WriteLine(result); 7 Console.ReadLine(); 8 9 } 10 11 public static async Task<string> Save() 12 { 13 var wc = new WebClient(); 14 var result = await wc.DownloadStringTaskAsync("https://www.baidu.com/"); 15 await Task.Run(() => 16 { 17 File.WriteAllText("D:/reuslt.txt", result); 18 }); 19 return "Success write"; 20 21 } 22 23 } 来源: https://www.cnblogs.com/keno32/p/11763217.html

pyppeteer登陆淘宝

寵の児 提交于 2019-12-02 15:02:12
import asyncio from pyppeteer import launch width, height = 2000, 1000 async def main(): browser = await launch(headless=False, userDataDir='./userdata', args=[f'--window-size={width},{height}', '--disable-infobars']) page = await browser.newPage() await page.setViewport({'width': width, 'height': height}) await page.goto('https://login.taobao.com/member/login.jhtml?redirectURL=https://www.taobao.com/') await page.evaluate('''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }''') await asyncio.sleep(100) asyncio.get_event_loop().run_until_complete(main()) 来源: https: