我需要应用程序等待计数器完成其工作,以便它可以返回完整的值数组,以便下一个函数可以使用它而不是'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使应用程序崩溃。
答案 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
但是我认为您需要另一种方法,例如AsyncTask或AsnycTaskLoader,这是因为在大多数情况下,您想做点其他事情;您实际上不知道第一个操作何时结束,或者您的阵列何时将完全被数据占据;如果需要帮助,请告诉我。