Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用开关时,Javascript函数返回undefined 函数stRequest(类型){ 开关(类型){ “收藏夹”案例: $.getJSON(“js/favorites.json”) .完成(功能(数据){ var message=“”; $.each(data.favorites,function(){ 消息+=“”; }); 返回消息; }); 打破 } }_Javascript_Jquery - Fatal编程技术网

使用开关时,Javascript函数返回undefined 函数stRequest(类型){ 开关(类型){ “收藏夹”案例: $.getJSON(“js/favorites.json”) .完成(功能(数据){ var message=“”; $.each(data.favorites,function(){ 消息+=“”; }); 返回消息; }); 打破 } }

使用开关时,Javascript函数返回undefined 函数stRequest(类型){ 开关(类型){ “收藏夹”案例: $.getJSON(“js/favorites.json”) .完成(功能(数据){ var message=“”; $.each(data.favorites,function(){ 消息+=“”; }); 返回消息; }); 打破 } },javascript,jquery,Javascript,Jquery,当使用类似于console.log(stRequest(“favorities”))的东西运行时它总是返回未定义的。简而言之,我的函数有什么问题?您从内部函数返回 您需要从外部函数返回 您需要传递一个回调,以便在done()内部调用,或者使用承诺。然后,您可以使用message作为参数解析回调。您将从内部函数返回 您需要从外部函数返回 您需要传递一个回调,以便在done()内部调用,或者使用承诺。然后,您可以使用message作为参数来解析回调。承诺无疑是一种方法。退房 承诺绝对是最好的选择。退

当使用类似于
console.log(stRequest(“favorities”))的东西运行时它总是返回未定义的。简而言之,我的函数有什么问题?

您从内部函数返回

您需要从外部函数返回


您需要传递一个回调,以便在
done()
内部调用,或者使用承诺。然后,您可以使用
message
作为参数解析回调。

您将从内部函数返回

您需要从外部函数返回


您需要传递一个回调,以便在
done()
内部调用,或者使用承诺。然后,您可以使用
message
作为参数来解析回调。

承诺无疑是一种方法。退房


承诺绝对是最好的选择。退房


始终记住,ajax中的a(即使用
getJSON
所做的事情)代表AsynchNonus始终记住ajax中的a(即使用
getJSON
所做的事情)代表AsynchNonus是否可以使用
$.Deferred()做同样的事情因为我已经在使用jQuery,如果不需要的话,我会犹豫是否添加另一个脚本?@BenedictLewis@BenedictLewis我没有使用jQuery的版本,但看起来非常相似。是否可以对
$.Deferred()执行相同的操作因为我已经在使用jQuery,如果不需要的话,我会犹豫是否添加另一个脚本?@BenedictLewis@BenedictLewis我没有使用jQuery的版本,但看起来非常相似。
function stRequest(type){
  switch(type){
    case "favourites":
      $.getJSON("js/favourites.json")
      .done(function(data) {
        var message = "";
        $.each(data.favourites, function(){
          message += "<a href=\"#\" class=\"favourite-user\">" + this + "</a>";
        });
        return message;
      });
      break;
  }
}
function stRequest(type){
   var deferred = Q.defer();
   switch(type){
    case "favourites":
      $.getJSON("js/favourites.json")
      .done(function(data) {
        var message = "";
        $.each(data.favourites, function(){
          message += "<a href=\"#\" class=\"favourite-user\">" + this + "</a>";
        });
        deferred.resolve(message);
      });
      break;
  }
  return deferred.promise;
}
stRequest('favourites').then(function(message){
  alert(message);
});