Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
如何在java中将firebase access Amazon web服务Lambda函数的异步调用转换为同步调用_Java - Fatal编程技术网

如何在java中将firebase access Amazon web服务Lambda函数的异步调用转换为同步调用

如何在java中将firebase access Amazon web服务Lambda函数的异步调用转换为同步调用,java,Java,我想调用AWS lambda函数,在该函数中我连接到Firebase数据库。问题是处理程序在我从Firebase获取所需数据之前执行。将异步调用转换为同步调用的方法: 让我们假设异步调用被称为fooancy(),并且您可以在操作完成时检查结果条件。您可以引入自己的volatile boolean footcomplete来跟踪这一点 然后: “如何将异步调用转换为同步”在一般情况下,您根本不能。 public void fooSyncWrapper() { volatile boolea

我想调用AWS lambda函数,在该函数中我连接到Firebase数据库。问题是处理程序在我从Firebase获取所需数据之前执行。

将异步调用转换为同步调用的方法:

让我们假设异步调用被称为
fooancy()
,并且您可以在操作完成时检查结果条件。您可以引入自己的
volatile boolean footcomplete
来跟踪这一点

然后:

“如何将异步调用转换为同步”在一般情况下,您根本不能。
public void fooSyncWrapper() {
    volatile boolean fooComplete = false;

    Thread thread = new Thread() {
        @Override
        public void run() {
            fooAsync();

            while (!fooComplete) {
                // busy wait on completion condition
                fooComplete = checkIfComplete();
            }

            // task is completed, thread will join
        }
    };

    thread.start();
    thread.join();
}