如何等待直到柜台完成

时间:2019-02-02 20:37:37

标签: java android

我需要应用程序等待计数器完成其工作,以便它可以返回完整的值数组,以便下一个函数可以使用它而不是'null'

与其他方法背道而驰,但不幸的是,这不是一种选择。

public getGameCards(povType: POVType): Observable<ICommonGameCard[]> {
    return this.http.get<Message>(this.BASE_URL + this.GET_ALL_CARDS_URL)
        .pipe(
          map((message: Message) => message.body),
          catchError(this.handleError<Message>("getUsernameValidation"))
      );
}

我希望线程等待计数器完成,以便“点”将包含实际解析的数据。现在,它返回“ null”,并调用sampledSeries使应用程序崩溃。

1 个答案:

答案 0 :(得分:1)

如果您只需要特定秒数的计数器,则可以使用以下代码段发布可运行项

// Fill your array here

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        // work to be done after 6000 msec
        Toast.makeText(MainActivity.this, "6 sec passed", Toast.LENGTH_SHORT).show();
    }
},6000); // time in msec

但是我认为您需要另一种方法,例如AsyncTaskAsnycTaskLoader,这是因为在大多数情况下,您想做点其他事情;您实际上不知道第一个操作何时结束,或者您的阵列何时将完全被数据占据;如果需要帮助,请告诉我。

相关问题