Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Google app engine Google应用程序引擎:python延迟库的Java版本?_Google App Engine - Fatal编程技术网

Google app engine Google应用程序引擎:python延迟库的Java版本?

Google app engine Google应用程序引擎:python延迟库的Java版本?,google-app-engine,Google App Engine,有人知道python延迟库的java版本吗?或者是关于如何实施的想法 编辑:AppEngine有,但该库仅适用于python。我正在寻找类似的东西,但它可以与GAE/Java一起工作。不,这只是python的,没有透露实现它的方法。您链接到的延迟库依赖于App Engine中的任务队列API。任务api在java中可用。然而,java作为一种语言,并不像python那样真正允许将函数/方法作为参数传递。因此,延迟库的java版本可能不会像python版本那样好看 如果要创建一个接口(假设没有人向

有人知道python延迟库的java版本吗?或者是关于如何实施的想法


编辑:AppEngine有,但该库仅适用于python。我正在寻找类似的东西,但它可以与GAE/Java一起工作。不,这只是python的,没有透露实现它的方法。您链接到的延迟库依赖于App Engine中的任务队列API。任务api在java中可用。然而,java作为一种语言,并不像python那样真正允许将函数/方法作为参数传递。因此,延迟库的java版本可能不会像python版本那样好看

如果要创建一个接口(假设没有人向我们指出一个现有的接口),可以定义一些接口,如
可延迟的
,并将要延迟的操作封装到满足该接口的对象中。然后,您必须实现一个可以处理这些对象的处理程序,并配置一个
队列
,以使用该处理程序

考虑到Java与python相比的动态性相对较低,这里的棘手部分是使可延迟接口易于使用,并且语法甜美


作为一个非常有限的实现,您可以说延迟只是一个需要运行的URL。然后,您的可延迟接口只需要一个返回字符串的方法,您的处理程序可以非常简单。OTOH,您刚刚将复杂性降低到了您将实现该URL的任何位置。

已经有了关于deferred的Java版本的工作,但没有发布任何内容。搜索google appengine java组的档案可能会发现一些实现此功能的用户代码。请记住,它没有Python那么整洁-您必须声明一个实现特定接口的可序列化类,而在Python中,几乎任何函数或方法都可以

JDeferred是一个Java延迟/承诺库,类似于JQuery的延迟对象

// deferred object and promise
Deferred deferred = new DeferredObject();
Promise promise = deferred.promise();
promise.done(new DoneCallback() {
  public void onDone(Object result) {
    ...
  }
}).fail(new FailCallback() {
  public void onFail(Object rejection) {
    ...
  }
}).progress(new ProgressCallback() {
  public void onProgress(Object progress) {
    ...
  }
}).always(new AlwaysCallback() {
  public void onAlways(State state, Object result, Object rejection) {
    ...
  }
});

// with the reference to deferred object, you can then trigger actions/updates
deferred.resolve("done");
deferred.reject("oops");
deferred.progress("100%");

你能解释一下吗,两者都有应用程序引擎SDK