栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在AngularJS服务中缓存一个Promise对象

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在AngularJS服务中缓存一个Promise对象

这是正确的方法吗?

是。在返回的函数上使用备注是一种通用技术,可以避免重复执行异步(通常是昂贵的)任务。promise使缓存变得容易,因为不需要区分正在进行的操作和完成的操作,它们都表示为结果值的(相同)promise。

这是正确的解决方案吗?

否。全局

data
变量及其解决方案
undefined
并不是promise的工作原理。相反,用结果实现承诺
data
!这也使编码容易得多:

var dataPromise = null;function getData() {    if (dataPromise == null)        dataPromise = $http.get("data.json").then(function (res) {return res.data;        });    return dataPromise;}

然后,代替

loadDataPromise().then(function(){data})
它只是
getData().then(function(data) { … })

为了进一步改善模式,您可能希望隐藏

dataPromise
在闭包范围内,并注意在
getData
接受参数(例如url)时需要查找不同的Promise。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614716.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号