最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序開發(fā)中Promise的使用(aysnc,await)及場景分析

 更新時間:2024年10月18日 08:55:55   作者:養(yǎng)肥胖虎  
在微信小程序開發(fā)中,錯誤使用Promise可能導致無法正確獲取數(shù)據(jù),本文分析了一個常見錯誤場景,即在異步函數(shù)中未使用await或.then()處理Promise,導致無法獲取異步操作的返回結果,文章提供了使用await和鏈式調用.then()的解決方法,幫助開發(fā)者避免類似錯誤,確保數(shù)據(jù)正確返回

0.錯誤描述

今天在開發(fā)中犯了一個比較嚴重的錯誤

對于Promise的錯誤使用

場景:

微信小程序中展示搜索條件列表

<strong>// API請求工具函數(shù)
const apiRequest = (url, method = 'GET', headers = {}) => {
  return new Promise((resolve, reject) => {
    wx.request({
      url,
      method,
      header: headers,
      success: (res) => resolve(res),
      fail: (error) => reject(error)
    });
  });
};
const fetchTypelist = async () => {
  const app = getApp();
  const queryParams = app.globalData.queryParams;
  console.log(queryParams)
  let url = `${API_BASE_URL}/industryType/page?pageNo=1&pageSize=10`;
  // 添加常規(guī)的查詢參數(shù)
  for (const [key, value] of Object.entries(queryParams)) {
    if (value) {
      url += `&${key}=${encodeURIComponent(value)}`;
    }
  }
  try {
    const headers = {}; // 如果需要token,可以在這里添加
    const response = await apiRequest(url, 'GET', headers);
    if (response.data.code === 200) {
      console.log(response.data)
      return response
    } else {
      throw new Error('獲取地址列表失敗');
    }
  } catch (error) {
    throw error;
  }
};
/.................../
調用方法
let result = fetchTypelist()
console.log(result)</strong>

猜猜會打印什么?

 一個promise是的僅僅只是一個promise,并沒有拿到請求返回的結果

1.分析

async 函數(shù)默認返回一個 Promise,即使你在 async 函數(shù)中顯式返回了值。

當你調用 async定義的函數(shù) (fetchTypelist) 時,返回的實際上是一個 Promise,而不是直接返回的數(shù)據(jù)。

2.解決方法

2.1.使用await等待方法的執(zhí)行,獲取返回值

<strong>const getTypelist = async () => {
  try {
    const typelist = await fetchTypelist();
    console.log(typelist); // 這里可以獲取到返回的 rows
  } catch (error) {
    console.error(error); // 處理錯誤
  }
};</strong>

2.2.使用鏈式調用.then()來處理promise

<strong>fetchTypelist()
  .then((typelist) => {
    console.log(typelist);
  })
  .catch((error) => {
    console.error(error);
  });</strong>

3.成功獲取

到此這篇關于微信小程序開發(fā)中Promise的使用(aysnc,await)的文章就介紹到這了,更多相關微信小程序Promise使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • javaScript中FormData使用方法示例

    javaScript中FormData使用方法示例

    這篇文章主要為大家介紹了javaScript中FormData使用方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 淺談Sticky組件的改進實現(xiàn)

    淺談Sticky組件的改進實現(xiàn)

    這篇文章主要介紹了Sticky組件的改進實現(xiàn)的相關資料,需要的朋友可以參考下
    2016-03-03
  • JavaScript實現(xiàn)下載base64數(shù)據(jù)并兼容低版本

    JavaScript實現(xiàn)下載base64數(shù)據(jù)并兼容低版本

    這篇文章主要為大家詳細介紹了如何使用JavaScript實現(xiàn)下載base64數(shù)據(jù)并兼容低版本,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • js獲取ajax返回值代碼

    js獲取ajax返回值代碼

    這篇文章主要介紹了js如何獲取ajax的返回值,需要的朋友可以參考下
    2014-04-04
  • js格式化輸入框內金額、銀行卡號

    js格式化輸入框內金額、銀行卡號

    這篇文章主要介紹了js格式化輸入框內金額、銀行卡號,采用“keyup”事件處理格式化,每4位數(shù)一組中間空格隔開,如何格式化輸入框內金額、銀行卡號,需要了解的朋友可以參考一下
    2016-02-02
  • javascript中自定義對象的屬性方法分享

    javascript中自定義對象的屬性方法分享

    這篇文章介紹了在javascript中自定義對象的屬性方法,有需要的朋友可以參考一下
    2013-07-07
  • TypeScript中如何實現(xiàn)類型安全的路由系統(tǒng)

    TypeScript中如何實現(xiàn)類型安全的路由系統(tǒng)

    本文講述TypeScript如何實現(xiàn)類型安全的路由系統(tǒng),路由類型結構、使用infer和Extract提取參數(shù)類型、定義路由配置類型、創(chuàng)建路由表、實現(xiàn)類型安全的導航和位置鉤子等,使用React?Router?v6或Next.js?App?Router,結合zod進行查詢參數(shù)驗證,以實現(xiàn)類型安全的路由系統(tǒng)
    2025-10-10
  • VScode中配置JavaScript編譯環(huán)境的方法

    VScode中配置JavaScript編譯環(huán)境的方法

    這篇文章主要介紹了VSCODE中配置JavaScript編譯環(huán)境的方法,方式一 使用Node.js做為解釋器運行JS代碼 Node.js的安裝和配置,方式二使用VSCODE插件Code Runner運行JS代碼,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • js/ajax跨越訪問-jsonp的原理和實例(javascript和jquery實現(xiàn)代碼)

    js/ajax跨越訪問-jsonp的原理和實例(javascript和jquery實現(xiàn)代碼)

    最近做了一個項目,需要用子域名調用主域名下的一個現(xiàn)有的功能,于是想到了用jsonp來解決,在我們平常的項目中不乏有這種需求的朋友,于是記錄下來以便以后查閱同時也希望能幫到大家,需要了解的朋友可以參考下
    2012-12-12
  • 利用Plupload.js解決大文件上傳問題, 帶進度條和背景遮罩層

    利用Plupload.js解決大文件上傳問題, 帶進度條和背景遮罩層

    本篇文章主要介紹了c#+Plupload.js解決大容量文件上傳問題, 帶進度條和背景遮罩層,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03

最新評論

宜宾市| 略阳县| 定州市| 涞源县| 新宁县| 盐亭县| 土默特右旗| 永安市| 汉阴县| 德惠市| 鄂尔多斯市| 随州市| 大理市| 太仆寺旗| 五莲县| 安仁县| 南溪县| 遵义县| 凤凰县| 齐河县| 海林市| 五常市| 枣强县| 千阳县| 宁蒗| 大理市| 竹溪县| 荥阳市| 分宜县| 饶阳县| 马山县| 苍南县| 阜南县| 六安市| 乌兰县| 浦北县| 抚远县| 泸水县| 永修县| 康乐县| 海林市|