constructor() {
this.firstMethod();
this.secondMethod();
this.thirdMethod();
this.fourthMethod();
}
ngOnInit(): void {
this.firstInitMethod();
this.secondInitMethod();
this.thirdInitMethod();
this.fourtInitMethod();
}
private firstInitMethod() {
console.log("1 ::::: firstInitMethod method");
}
private secondInitMethod() {
console.log("2 ::::: secondInitMethod method");
}
private thirdInitMethod() {
console.log("3 ::::: thirdInitMethod method");
}
private fourtInitMethod() {
console.log("4 ::::: fourtInithMethod method");
}
private firstMethod() {
console.log("1 ::::: First method");
}
private secondMethod() {
console.log("2 ::::: second method");
}
private thirdMethod() {
console.log("3 ::::: third method");
}
private fourthMethod() {
console.log("4 ::::: fourth method");
}
ngAfterContentInit() {
console.log("ngaftercontnet init method called");
this.firstAfterInitMethod();
this.secondAfterInitMethod();
this.thirdAfterInitMethod();
this.fourthAfterInitMethod();
}
private firstAfterInitMethod() {
console.log("1 ::::: firstAfterInitMethod method");
}
private secondAfterInitMethod() {
console.log("2 ::::: secondAfterInitMethod method");
}
private thirdAfterInitMethod() {
console.log("3 ::::: thirdAfterInitMethod method");
}
private fourthAfterInitMethod() {
console.log("4 ::::: fourthAfterInitMethod method");
}
}
[My Phone 5508]: 1 ::::: First method
[My Phone 5508]: 2 ::::: secondInitMethod method
[My Phone 5508]: 3 ::::: thirdInitMethod method
[My Phone 5508]: 3 ::::: third method
[My Phone 5508]: 2 ::::: second method
[My Phone 5508]: 4 ::::: fourtInithMethod method
[My Phone 5508]: 4 ::::: fourth method
[My Phone 5508]: ngaftercontnet init method called
[My Phone 5508]: 1 ::::: firstAfterInitMethod method
[My Phone 5508]: 2 ::::: secondAfterInitMethod method
[My Phone 5508]: 1 ::::: firstInitMethod method
[My Phone 5508]: 3 ::::: thirdAfterInitMethod method
[My Phone 5508]: 4 ::::: fourthAfterInitMethod method
I need Output method sync calling :
First methods in Contructor()
this.firstMethod();
this.secondMethod();
this.thirdMethod();
this.fourthMethod();
Second methods in Init
this.firstInitMethod();
this.secondInitMethod();
this.thirdInitMethod();
this.fourtInitMethod();
Third methods in AfterInit
this.firstAfterInitMethod();
this.secondAfterInitMethod();
this.thirdAfterInitMethod();
this.fourthAfterInitMethod();
必须返回promise
或Observable
以等待方法完成其进程。
例如:
private firstAfterInitMethod() {
return new Promise((resolve, reject) => {
console.log("1 ::::: firstAfterInitMethod method");
// resolve("something"); when you want to return something.
});
}
其他方法必须返回promise
,比如firstafterinitmethod()
。
this.firstAfterInitMethod().then((resolve:any) => {
// now you can call secondAfterInitMethod();
});
同步调用异步方法最安全的方法是什么?
我正试图从同步方法运行异步方法。但是我不能等待异步方法,因为我在同步方法中。我一定不理解TPL,因为这是我第一次使用它。 每个方法都需要前一个方法来完成,因为第一个方法的数据用于第二个方法。 Await运算符只能在异步方法中使用。考虑用'async'修饰符标记此方法,并将其返回类型更改为'task' 但是,如果我使用async修饰符,这将是一个异步操作。因此,如果我对的调用没有使用await运算符
为什么下面的代码不能保证多个线程之间total_home数字的唯一性,即使逻辑处于同步块中。 } } } 这是一个程序示例。试着运行5-10次,你会发现total_home的值并不是每次都是唯一的。
问题内容: 如果一个同步方法调用另一个同步方法,那么线程安全吗? 问题答案: 是的,将方法标记为时,您实际上是在这样做: 当线程调用从method1进入method2时,它将确保它持有对的锁定,该锁定已经存在,然后可以通过。 当线程直接进入method1或method2时,它将阻塞直到获得锁(),然后进入。 正如詹姆斯·布莱克(James Black)在评论中指出的那样,您必须了解方法主体内部的操
请看下面给我带来麻烦的方法: 然后是run方法: