如何在没有回调的情况下返回Ajax响应

时间:2018-04-05 11:43:28

标签: javascript jquery ajax callback promise

我试图找到一个从ajax响应返回数据的解决方案,但不可能执行给定的回调函数

以下代码是修复(第三方api脚本),我唯一可以控制的是myfunction的内容:

var myfunction( param ) {
   $.get( '/search', { q: param } );
   // no further ideas :D
   return; // <-- idealy the response of the ajax call
};

Promise.resolve()
   .then(
       function() {
           return myfunction( param );
       }
   ).then(
       function( res ) {
           return somefunction( res );
       }
   ).catch(
       function( res ) {
           return errorfunction( res );
       }
   );

myfunction的内容现在是一个执行数据库搜索的ajax调用。

由于我无法使用回调功能,因此我被困在那里。我真的不想将$ .ajax的async选项设置为false。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。我只需要返回ajax调用。

var myfunction( param ) {
    return $.get( '/search', { q: param } );
};