这个箱子适合q美元吗
Would this case be a good fit for $q?
我很难确定是否应该在以下psuedo编码的场景中使用$q
:
function create() {
if (condition1) {
// ajax call that needs to update
// the object to be passed into Service.create()
}
if (condition2) {
// ajax call that doesn't make updates to object
}
Service.create(object).success(function() {
// the object was passed here
});
}
注:condition1
和condition2
互斥。
以前,我做过这样的事情:
function create() {
if (condition1) {
// on ajax success
callServiceCreate(object);
return;
}
if (condition2) {
// ajax call that doesn't make updates to object
}
callServiceCreate(object);
}
function callServiceCreate(object) {
Service.create(object).success(function() {
// the object was passed here
});
}
这是有效的,但我想知道这个案子是否适合q美元。
如果我用$q构造函数包装condition1
:
if (condition1) {
return $q(function(resolve, reject) {
// ajax success
resolve(data);
}
}
如何在只调用callServiceCreate()
/Service.create()
一次的情况下实现相同的功能?
您显然可以在这里使用$q.when
,它将传递promise when
函数
代码
function create() {
var condition1Promise;
if (condition1) {
condition1Promise = callServiceCreate(object);
}
if (condition2) {
// ajax call that doesn't make updates to object
}
$q.when(condition1Promise).then(function(){
Service.create(object).success(function() {
// modify object here
// the object was passed here
});
})
}
function callServiceCreate(object) {
//returned promise from here to perform chain promise
return Service.create(object).then(function(data) {
// the object was passed here
return data;
});
}
相关文章:
- javascript美元符号变量不起作用
- 美元符号可以被认为是jquery中的宏吗?
- TypeScript - 如何获取 HTML 元素,例如在 Javascript 中使用美元符号 ($)
- 在 AJAX 请求中损失了 _SESSION 美元
- 无法获得 _FILES 美元但获得 _SERVER 美元的文件
- AngularFire 0.5美元移除.错误:Firebase.child失败:第一个参数是无效路径
- 铬中的 $ 变量(美元符号)
- 当元素ID包含美元符号时,Javascript中的getElementByid.当ID包含美元符号时,
- angularjs美元指数发行
- jquery.formatCurrency.js删除美元符号
- Javascript框架中的美元符号
- 使用美元符号和千位分隔符格式化引导表
- HTMLpurifier不能使用_POST美元
- 无法通过 AJAX 帖子访问 _SESSION 美元的数据
- 在 String.prototype.rereplace 使用的字符串中转义美元符号的更好方法
- 在 React 的 html 输入中在美分和美元之间进行转换
- 使用带有硒的JQuery的美元别名
- ${}(美元符号和大括号)在 JavaScript 中的字符串中是什么意思
- 为什么 jQuery.post 最终会变成 PHP 的 _POST 美元,而我的香草 JS 帖子却没有
- 这个箱子适合q美元吗