[發案] Ionic 3 同步型Http Get

作者: pcmanxyz (PCMANXYZ)   2023-08-25 04:17:01
各位先進, 各位前輩大家好
舊系統已經無人維護
臨危受命要新增一個功能
小弟是這一塊的新手
環境如下:
IONIC3 (npm﹑angular)
需求如下:
我需要同步的Http Get 方案
http.get 取值好, 程式才會往下走
而不是還要額外寫等待time迴圈去等值
如:
alert('a');
let ltTmp = http.get(xxxxx)
alert('b');
顯示 alert a
取得 leTmp 之值 之後 , 才會 alert b
找了一個晚上, 有找到範例(有人說用Promise可以解決), 但還是有問題
網站回傳值只是一般字串, 或是DataTable xml , 不是json格式
httpget55555()
{
return new Promise(resolve => {
this.http.get('http://www.a.b/Check.php')
.map(res => res.json())
.timeout(2000)
.subscribe((data: any) => {
resolve(data.Data);
alert(data.text());
}, error => {
resolve(error);
});
});
}
alert(data.text()) 還是會在 alert('b')之後才出現, 沒有卡住
預算:500-1000
若這預算太可笑,請前輩別見怪, 因為我不太了解ionic的行情
還請前輩們指點預算
謝謝大家
提案人:我
聯絡方式1:站內信
聯絡方式2:
有效期間: 1個月
作者: kimi112136   2023-08-25 06:46:00
async await
作者: kyoe (緣份‧不再)   2023-08-25 09:32:00
同上
作者: zerof (貓橘毛發呆雕像)   2023-08-25 21:51:00
Promise.then if you’re using Promise
作者: bigbearlazir (肥宅)   2023-08-25 23:28:00
看是要加await在http.get()這裡還是傳一個callback給get這個method 在這allback裡面去呼叫alert('b')當然你解析完之後要記得去呼叫這個callback^或是catch到error

Links booklink

Contact Us: admin [ a t ] ucptt.com