@Javascript

動態 列表
@tusi_5c8a591841687

then, catch, finally如何影響返回的Promise實例狀態

雖然Promise是開發過程中使用非常頻繁的一個技術點,但是它的一些細節可能很多人都沒有去關注過。我們都知道,.then, .catch, .finally都可以鏈式調用,其本質上是因為返回了一個新的Promise實例,而這些Promise實例現在的狀態是什麼或者將來會變成什麼狀態,很多人心裏可能都沒個底。我自己也意識到了這一點,於是我通過一些代碼試驗,發現了一些共性。如果您對這塊內容還沒有把握,

tusi_5c8a591841687 頭像

@tusi_5c8a591841687

昵稱 程序員白彬

@tusi_5c8a591841687

我以為我很懂Promise,直到我開始實現Promise/A+規範

我一度以為自己很懂Promise,直到前段時間嘗試去實現Promise/A+規範時,才發現自己對Promise的理解還過於淺薄。在我按照Promise/A+規範去寫具體代碼實現的過程中,我經歷了從“很懂”到“陌生”,再到“領會”的過山車式的認知轉變,對Promise有了更深刻的認識! TL;DR:鑑於很多人不想看長文,這裏直接給出我寫的Promise/A+規範的Javascript實現。 gi

tusi_5c8a591841687 頭像

@tusi_5c8a591841687

昵稱 程序員白彬

@qfifteen

參透 JavaScript —— 圖解 Event Loop 事件循環

前言 本篇文章主要講解瀏覽器中事件循環(Event Loop) 那些事 單線程 JavaScript 中的同步和異步 同步任務是立即執行的任務,在調用棧(Call Stack)順序執行 異步任務則不同,它在同步任務沒完成之前,不會進入主線程,而是將對應回調函數註冊到隊列中,要理解這一步,我們先要知道任務隊列 任務隊列 在調用棧(Call Stack)中,如果遇到一個異步操作,那麼會將對應的回調函數

qfifteen 頭像

@qfifteen

昵稱 十五

@heqiliao_5cf8819257e40

一次簡單的頁面跳轉引發問題和思考

背景 後台系統首頁,存在各個訂單狀態的數量統計,現需要實現點擊後跳轉到對應頁面,即快速跳轉。目前系統只有一個訂單列表頁面,table上方倒是有查詢表單,可以根據不同狀態篩選數據。 初步思路 首頁通過框架路由API跳轉,攜帶參數;目標頁面初始化階段獲取參數,填入表單,發起查詢請求。 分析現有代碼 列表頁面由一個統一的Table組件封裝,Table內有查詢Form、Table等組件,通過外部傳入的查詢

heqiliao_5cf8819257e40 頭像

@heqiliao_5cf8819257e40

昵稱 何棄療

@tuzixiansen_63d4d65909d62

原生微信小程序響應式數據

原生微信小程序提供兩種響應式數據處理方式 1、module:value="{{ xxx }}" 2、setData module:value 第一種方式為簡易雙向綁定,這種雙向綁定只能對應data中的簡單數據類型,例如:string、number、boolean、null,例如: data: { keyword: '' // data中直接定義 }, 頁面用module:va

tuzixiansen_63d4d65909d62 頭像

@tuzixiansen_63d4d65909d62

昵稱 兔子先森

@wubomu

再見了 Redux、Recoil、MobX、Zustand、Jotai 還有 Valtio,狀態管理還可以這樣做?

堅持在一線寫前端代碼大概有七八年了,寫過一些項目,有過一些反思,越來越確信平日裏一直用得心安理得某些的東西也許存在着問題,比如:在 狀態管理 上一直比較流行的實踐 🙏,所以試着分享出來探討一下。 為什麼要告別 Redux、Recoil、MobX、Zustand、Jotai 還有 Valtio 今天流行的狀態管理庫有很多,尤其在 React 中。為了把問題説得清晰一些,我想以 React 中的幾個

wubomu 頭像

@wubomu

昵稱 烏柏木

@kevinzhw

Redux Toolkit:簡化Redux應用狀態管理

Redux Toolkit 是官方推薦用來簡化Redux開發的工具集。它包含了一些預設的最佳實踐,使得創建和管理Redux狀態變得更簡單。 1. 創建Store 使用configureStore函數來創建Redux store,它會自動配置中間件,如redux-thunk用於處理異步操作。 import { configureStore } from '@reduxjs/toolkit';

kevinzhw 頭像

@kevinzhw

昵稱 天涯學館

@suporka

“山寨版”《草料二維碼》

背景 之前瀏覽過草料二維碼的網站,他的二維碼美化功能很強大,可以分別自定義碼眼和碼點的形狀和顏色,功能十分強大 💪! 碰巧之前寫過一個 npm 插件 qrcode-with-logos, 用於前端生成帶 logo 的二維碼。 而且在 github 的 issues 裏有外國友人 👨‍🦱 問我能否實現不同樣式的二維碼,剛好以此作為新需求,模仿草料二維碼的樣式和功能,開發了 qrcode-wit

suporka 頭像

@suporka

昵稱 suporka

@renzhongdaoyuan_59170ca258c53

手把手教你繪製小程序海報

海報分享功能在許多應用中應該是很常見的,因為它作為一種常用的應用推廣和拉新的方式。 接下來看個實際的案例,如下: 把任務拆解下: 如何繪製海報 如何把繪製後的海報保存到相冊 繪製海報 用 canvas 來繪製海報。 這裏需要了解基本的 canvas api,不熟悉可以先去了解下相關 Canvas API 定義 canvas 元素 template view class="

@shuirongshui

vue3中實現live2D技術的應用虛擬角色數字人live2d-render、pixi-live2d-display

什麼是live2D技術?可以用來做什麼? 請點擊看效果:http://ashuai.work:8890/#/16 簡而言之: 可以用來創建虛擬角色、數字人的技術 達到類似於動漫、插畫、遊戲中的人物效果 可動作交互、語音發聲 可以用到的平台很多,比如Web、Native、Unity、遊戲引擎、JAVA等平台 就前端而言,3D項目使用threejs,2D項目使用pixijs 所以,pix

shuirongshui 頭像

@shuirongshui

昵稱 水冗水孚

@huanjinliu

開源 | Warpvas 實現扭曲的畫布

介紹 名字靈感源於 warped + canvas,扭曲的畫布。 畫布可以被扭曲嗎? 如果你使用過canvas,可能你對setTransform API也有所瞭解,那你可能會給出一個偏消極的答案:只能整體傾斜變形,但做不到扭曲變形。 但這真的做不到嗎? 我們可以先來想一個問題:如果對於一個方方正正的圖像來説,setTransform API施加的變形效果只能作用於整體,那如果把它從斜對角切成兩份三

huanjinliu 頭像

@huanjinliu

昵稱 歡進

@huobaodejianpan

HTTP 請求優化指南:Axios 和 Fetch 的比較

在前端開發中,處理 HTTP 請求是一個常見且重要的任務。JavaScript 提供了多種方式來發送網絡請求,其中最受歡迎的兩種方式分別就是 Fetch API 和 Axios。儘管兩者都能完成同樣的任務,即從客户端向服務器發送請求並接收響應,但它們在使用方式、功能及靈活性方面各有千秋,下面我們簡單瞭解下。 1. 基礎介紹 Fetch API Fetch API 是現代瀏覽器內置的一個標準 Jav

huobaodejianpan 頭像

@huobaodejianpan

昵稱 火爆的鍵盤

@awbeci

Java-實現axios上傳文件接口攜帶多參數

前言 最近在實現小圖片上傳的過程中剛開始我使用base64字符串做為後台接口參數傳遞給後台並解析保存也沒問題,但是發現第2次及之後就報下面的錯: org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 然後問了AI給的回覆如下: 這個問題通

awbeci 頭像

@awbeci

昵稱 Awbeci

@hu_qi

跟魯迅重學 TypeScript | (五)異步處理、axios與封裝axios

“不在沉默中爆發,就在沉默中滅亡”,面對日益嚴峻的國際環境,我們祖國母親沒有繼續沉默,9月25日8時44分,洲際彈道導彈精準發射。,看到這個新聞,腰也不酸了,腿也不疼了,一口上上五樓,TS 學起來更帶勁了~ 異步處理 在 TypeScript 中,異步編程如同現代社會中的種種現象,紛繁複雜,令人眼花繚亂。而 async/await 正如那一柄利劍,能將這混沌的世界理清,使得程序員不至於深陷於回調的

hu_qi 頭像

@hu_qi

昵稱 huqi

@_58d8892485f34

二進制文件下載實例,blob、ArrayBuffer區別

背景 下載文件功能,點擊下載按鈕,後端返回二進制文件流,前端執行下載文件功能;當返回錯誤信息時前端能夠正確提示。 步驟一:請求設置responseType 請求數據時responseType不同,ArrayBuffer為arraybuffer,blob為blob。 步驟二:對響應進行攔截並判斷 正確情況 創建a標籤並下載。 const blob = new Bl

_58d8892485f34 頭像

@_58d8892485f34

昵稱 薇薇

@42_6398721f10a5e

RxJS + Fetch: HTTP 請求的新紀元

RxJS + Fetch: HTTP 請求的新紀元 Reach 是一個使用 RxJS 和原生 Fetch API 構建的 HTTP Client,它受到 Axios 的啓發。 RxJS 用於實現類似於 Axios 中攔截器的功能,它被稱作管道,是比攔截器更加強大的自定義工具。同時它也儘量使用 Web API 而不是自定義數據類型,這使得它十分的輕量。 它使用起來類似這樣: import { R

@fanudekaixinguo

Express入門學習記錄

Express 簡介 Express 是一個流行的 Node.js Web 應用程序框架,它提供了一組強大的功能和工具,用於構建 Web 應用程序和 API。它是建立在 Node.js 的 HTTP 模塊之上的,通過簡化常見任務和提供靈活的路由機制,使得構建 Web 應用程序變得更加快速和簡單。 它是web框架,能夠提供後端服務能力,並能以類似JSP模版的形式渲染web頁面。 express

fanudekaixinguo 頭像

@fanudekaixinguo

昵稱 kexb

@jueqiangqingtongsan

NodeJS項目架構設計,看這一篇就足夠了!

NodeJS項目架構設計,看這一篇就足夠了! 前言 大家好,我是倔強青銅三。我是一名熱情的軟件工程師,我熱衷於分享和傳播IT技術,致力於通過我的知識和技能推動技術交流與創新,歡迎關注我,微信公眾號:倔強青銅三。 1. 🧩 整潔架構簡介 Clean Architecture(整潔架構)由Robert C. Martin(Uncle Bob)提出,它強調應用程序內部關注點的分離。該架構提倡業務邏輯

jueqiangqingtongsan 頭像

@jueqiangqingtongsan

昵稱 倔強青銅三

@shuirongshui

使用nodejs的express框架實現大文件上傳的功能,附完整前後端github代碼

問題描述 兩年前,筆者寫過一篇文章 《面試官桀桀一笑:你沒做過大文件上傳功能?那你回去等通知吧!》 當時,後端是用java語言寫的 本篇文章,就是講解一下,後端的nodejs如何實現大文件上傳 後端使用node的express框架寫 完整代碼在github上:https://github.com/shuirongshuifu/bigfile 在看本篇文章之前,建議看一下之前的筆者的大

shuirongshui 頭像

@shuirongshui

昵稱 水冗水孚

@soujer

AList嵌入動態驗證碼實現引流

前言 曉傑利用ALists創建了個網盤資源站,想着如何增加個動態驗證碼進行驗證後才能進行訪問下載,剛開始利用了固定的驗證碼,用户可以通過JS代碼中進行繞過或直接拿到驗證碼,經過曉傑多次優化,最終版本支持動態獲取驗證碼,使用了禁止打開控制枱校驗等方式減少繞過幾率,現在分享給大家。 AList介紹 ‌AList是一個支持多種存儲、支持網頁瀏覽和WebDAV的文件列表程序‌,AList的功能包括但不限於

soujer 頭像

@soujer

昵稱 Soujer

@yangy5hqv

(Online CAD Software)在線CAD二次開發形位公差標註

一、前言 形位公差是指對零件幾何要素的形狀誤差和位置誤差所允許的最大變動量,它與傳統的尺寸公差不同,不僅關注長度或直徑等線性尺寸的變化,還關注零件的幾何特性是否符合設計意圖。在本篇文章中我們將介紹如何通過mxcad插件根據形位公差的特性來實現形位公差標註功能。 二、形位公差的分類 形位公差的所有公差代號如下圖所示: 根據國家標準 GB/T 1182-2018(等同於 ISO 1101

yangy5hqv 頭像

@yangy5hqv

昵稱 夢想雲圖網頁CAD