亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Angular 從 nodejs API 獲取不同的值

Angular 從 nodejs API 獲取不同的值

慕勒3428872 2023-05-19 14:49:39
如果我嘗試在我的 nodeJS 上調用 get 而不是它的工作,但我得到不同的值。我必須提交我的搜索參數 1-3 次才能獲得正確的輸出。我的節點服務器獲得正確的搜索參數并輸出正確的 API 響應,但如果我想將它打印到我的 Angular 應用程序,那么它將使用舊參數。我不明白這種行為。請求路徑:angular -> nodeJS -> 3rd partie API -> nodeJS -> angular那條路錯了嗎?如何獲取角度的當前數據?應用程序.js    app.get('/url', (req, res) => {    var name = req.query.searchname;    console.log("Output\n---------------------------")    console.log(req.query.searchname);    doGetRequest(name);        return res.send(data);})測試服務test(searchName){    this.http.get<any>('http://localhost:3000/url', {      params: {        searchname: searchName      }}).subscribe(data => this.totalAngularPackages = data)    this.log();      }log(){  console.log(this.totalAngularPackages);}
查看完整描述

1 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

該變量this.totalAngularPackages是異步分配的。任何直接依賴于它的語句都必須在訂閱內。運行時console.log,該變量this.totalAngularPackages仍未定義或保留先前分配的值。

test(searchName) {

? this.http.get<any>('http://localhost:3000/url', {params: {searchname: searchName}})

? ? .subscribe(data => {

? ? ? this.totalAngularPackages = data;

? ? ? this.log(); // <-- must be inside the subscription

? ? });

}


log() {

? console.log(this.totalAngularPackages);

}


查看完整回答
反對 回復 2023-05-19
  • 1 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號