首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Kotlin Flow 看这一篇 带你入门~

为什么需要Flow 首先我们来回顾下Kotlin中我们如何使用挂起函数,我们在main方法中,调用挂起函数返回一组数据,代码如下所示: suspend fun loadData(): List...上面挂起函数的返回类型是List类型,那么就必定只能一次性返回数据,此时,Flow就出场了~ Flow的基础使用 构建器 我们改写loadData方法,返回类型修改为Flow ,并构造一个flow...,我们可以直接调用loadData方法,这是因为flow构建块中的代码 就是一个suspend函数。...接下来我们在main方法中调用多次loadData方法而不调用collect,看会有什么现象。...data = loadData1() println("第二次准备调用加载数据的方法") var data2 = loadData1() data2.collect

1.3K30

【AngularJS】—— 10 指令的复用

—— 来自《慕课网 指令3》   首先看一下一个小例子,通过自定义指令,捕获鼠标事件,并触发控制器中的方法。   ...});   首先看一下创建的控制器,在其中创建了一个loadData方法,用于相应触发事件,为了便于观察结果,添加了一个计数器。   ...并在link属性的方法内,添加相应事件,方法中有三个参数:   1 scope,作用域,用于调用相应的作用域的方法。   ...那么指令如何知道调用控制器的那个方法呢?这就用到了attr属性。   ...2 指令中调用的仅仅是属性的名字,没有方法括号。   3 应用时,属性对应的值是该控制器内声明的执行方法。   下面看一下样例代码: <!

68490

利用promise实现简单的前端cache

原始版本 //这个方法模拟从服务端加载数据 var loadData = function(){ return fetch('/').then(function(data){ return...data.statusText }); }; loadData().then(function(data){ console.log(data); }); 上面这一小段方法本也没什么错,但考虑如果使用数据的地方比较多...来个简单的缓存 你一定会说来个简单的缓存吧,如下所示: //定义一个变量充当缓存 var cache = null; //下面的方法使用了cache var loadData = function()...当调用两次loadData()方法,而在调用第二次方法时,cache还为null,因此最终还是fetch了两次。...它允许你为异步操作的成功或失败指定处理方法。 这使得异步方法可以像同步方法那样返回值:异步方法会返回一个包含了原返回值的 promise 对象来替代原返回值。

1.5K40

对于 Promie 和 asyncawait 的理解

Pomise 基本的使用方法 delayDoAjax(interval){ return new Promise((resolve, reject) => { if (typeof...其中,后面的 then 采用了链式调用的方法。 catch 虽然是放在了最后面,但是,catch 的错误捕获是针对整一个链式调用的,只要其中的一环出现了错误,catch 都能捕获到错误信息。...所以,在内部的promise 执行完毕,且注册了第一个 then 的时候,外部的同步方法已经执行完毕,这个之后注册了 外部的第二个 then。...: loadData2 // result1: 1000 // result2: 1000 很明显这样就是不对的, 应该两个都是 使用 await ,每一个请求方法的执行 都要等待上一个接口的数据返回...', 2000) this.ajax('loadData2', 1000) 这里的打印结果不是 loadData1 再 loadData2,而是反过来。

86351

Android WebView全面总结

(2)加载远程网页 mWebView.loadUrl("http://www.google.com"); (3)使用 LoadData 或者 loadDataWithBaseURL方法加载内容 有时候我们的...这种情况我们使用 LoadData 或者 loadDataWithBaseURL方法,后者用的最多: void loadDataWithBaseURL (String baseUrl, String data...getAssets().open("html/test2.html"); // loadData()方法需要的是一个字符串数据所以我们需要把文件转成字符串 ByteArrayBuffer...-8", ""); 这种通过读取文件再用loadData加载其实和mWebView.loadUrl(“file:///android_asset/html/test1.html”)是一致的,只不过loadData...loadDataWithBaseURL和loadData两个方法加载的HTML代码片段的不同点在于,loadData()中的html data中不能包含’#’, ‘%’, ‘\‘, ‘?’

2.3K80

Android基于Glide v4.x的图片加载进度监听

关于Glide的loadData、model、fetch的详细介绍,可以查看 官方文档 OkHttpLoader的最终目的,也就是返回了一个LoadData对象。...现在情况明确了,glide框架就是利用这个LoadData对象得到图片的输入流,从而下载图片并经过一系列的解码,裁剪,缓存等操作,最后加载出来的。...LoadData的参数有一个OkHttpStreamFetcher,从名字看来,这里一定就是下载图片的地方了,我们继续看下去。...OkHttpStreamFetcher.this.responseBody.byteStream(), contentLength); ContentLengthInputStream是glide的工具类,用来读取输入流的,点进去看看,发现有几个read方法...IOException { return this.checkReadSoFarOrThrow(super.read(buffer, byteOffset, byteCount)); } 所以,我的解决方法就是在这里计算下载进度和进行进度的报告的

1.4K31
领券