Javascript异步跳过if-else
Javascript async skips if-else
我有一个if-else块,它在向服务器发送http.get()之前解析用户输入。然而,if-else总是被跳过。我试图重新安排我的代码,迫使它在调用get()之前完成if-else,但似乎没有任何工作。我也在使用AngularJS。
//controller
function search($scope, $http, $location)
{
function parse(item)
{
if(item.match(/str1/g))
{
item = item.replace(/str1/g, 'one');
}
else if(item.match(/str2/g))
{
item = item.replace(/str2/g, 'two');
}
else if(item.match(/str3/g))
{
item = item.replace(/str3/g, 'three');
}
//ad infinitum
return item;
}
$http.get('/search='+ parse($location.search().query.toLowerCase()))
.success(function(data) {
$scope.count = data.length;
$scope.items = data;
$scope.exists = data.length > 0;
})
.error(function(err) {
});
}
您没有在parse()
函数中返回item
。您的parse()
函数被视为字符串,但没有返回值。
在函数的末尾应该有一个返回,如下所示:
function parse(item)
{
if(item.match(/str1/g))
{
item = item.replace(/str1/g, 'one');
}
else if(item.match(/str2/g))
{
item = item.replace(/str2/g, 'two');
}
else if(item.match(/str3/g))
{
item = item.replace(/str3/g, 'three');
}
//ad infinitum
return item;
}
在这里阅读return
语句:http://www.w3schools.com/jsref/jsref_return.asp
另一种方法来完成你想做的是简单地不创建一个本地parse()
函数,只是做字符串处理直接在search()
作用域:
function search($scope, $http, $location)
{
var item = $location.search().query.toLowerCase();
if(item.match(/str1/g))
{
item = item.replace(/str1/g, 'one');
}
else if(item.match(/str2/g))
{
item = item.replace(/str2/g, 'two');
}
else if(item.match(/str3/g))
{
item = item.replace(/str3/g, 'three');
}
//ad infinitum
$http.get('/search='+ item)
.success(function(data) {
$scope.count = data.length;
$scope.items = data;
$scope.exists = data.length > 0;
})
.error(function(err) {
});
}
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- Javascript Return and if/else
- JavaScript if-else 速记错误
- 如何检查if/else语句中的随机条件
- 在javascript中创建数组,而不是if.else
- Javascript If else 只返回 TRUE 或只返回 FALSE
- jquery if else不返回警报消息
- 在Javascript中为if/else语句添加OR
- If Else Java Script HTML
- jQuery/Javascript foreach If/Else |如果为空(不执行任何操作)Else(显示forea
- 我应该如何应用if-else条件来向具有不同用户角色的人显示不同的菜单
- geoTest函数-创建if/else语句
- JavaScript中的温度转换器(IF ELSE条件)
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- 编写if-else语句的更好方法
- 在if/else语句中显示DIV
- PHP If Else-隐藏按钮
- JavaScript if/else未按预期操作
- if/else运算符未更改
- Javascript异步跳过if-else