По сути, вам не следует помещать какой-либо код ниже асинхронного вызова (подписки), как в вашем примере.
Вместо этого рассмотрим это:
read(idPos:string){
var choice = 0;
this.menuItemsService.getAllDataMenuItemsByParentId(idPos).subscribe(data=>
{
choice = 1; // change Value to 1
if(data.length !=0){
this.data =data;
}
console.log(choice)
this.continueRead(choice);
})
// console.log(choice); // <<< remove this line.
}
continueRead(choice: number) {
console.log(choice); // <<< will print 1
}