面試官:講一下如何終止一個 Promise 繼續執行
我們知道 Promise 一旦實例化之後,狀態就只能由 Pending 轉變為 Rejected 或者 Fulfilled, 本身是不可以取消已經實例化之後的 Promise 了。 但是我們可以通過一些其他的手段來實現終止 Promise 的繼續執行來模擬 Promise 取消的效果。 Promise.race 我們都知道 Promise.race 方法接收多個 Promise ,一旦這些 Pro
昵稱 前端蛋卷
貢獻者369
粉絲0
我們知道 Promise 一旦實例化之後,狀態就只能由 Pending 轉變為 Rejected 或者 Fulfilled, 本身是不可以取消已經實例化之後的 Promise 了。 但是我們可以通過一些其他的手段來實現終止 Promise 的繼續執行來模擬 Promise 取消的效果。 Promise.race 我們都知道 Promise.race 方法接收多個 Promise ,一旦這些 Pro
昵稱 前端蛋卷
雖然Promise是開發過程中使用非常頻繁的一個技術點,但是它的一些細節可能很多人都沒有去關注過。我們都知道,.then, .catch, .finally都可以鏈式調用,其本質上是因為返回了一個新的Promise實例,而這些Promise實例現在的狀態是什麼或者將來會變成什麼狀態,很多人心裏可能都沒個底。我自己也意識到了這一點,於是我通過一些代碼試驗,發現了一些共性。如果您對這塊內容還沒有把握,
昵稱 程序員白彬
我一度以為自己很懂Promise,直到前段時間嘗試去實現Promise/A+規範時,才發現自己對Promise的理解還過於淺薄。在我按照Promise/A+規範去寫具體代碼實現的過程中,我經歷了從“很懂”到“陌生”,再到“領會”的過山車式的認知轉變,對Promise有了更深刻的認識! TL;DR:鑑於很多人不想看長文,這裏直接給出我寫的Promise/A+規範的Javascript實現。 gi
昵稱 程序員白彬
前言 本篇文章主要講解瀏覽器中事件循環(Event Loop) 那些事 單線程 JavaScript 中的同步和異步 同步任務是立即執行的任務,在調用棧(Call Stack)順序執行 異步任務則不同,它在同步任務沒完成之前,不會進入主線程,而是將對應回調函數註冊到隊列中,要理解這一步,我們先要知道任務隊列 任務隊列 在調用棧(Call Stack)中,如果遇到一個異步操作,那麼會將對應的回調函數
昵稱 十五
背景 後台系統首頁,存在各個訂單狀態的數量統計,現需要實現點擊後跳轉到對應頁面,即快速跳轉。目前系統只有一個訂單列表頁面,table上方倒是有查詢表單,可以根據不同狀態篩選數據。 初步思路 首頁通過框架路由API跳轉,攜帶參數;目標頁面初始化階段獲取參數,填入表單,發起查詢請求。 分析現有代碼 列表頁面由一個統一的Table組件封裝,Table內有查詢Form、Table等組件,通過外部傳入的查詢
昵稱 何棄療
這裏主要用到button的open-type功能,官網已有説明: 給button設置open-type="chooseAvatar",來使bindchooseavatar方法生效,在bindchooseavatar指定的函數中獲取用户的頭像信息 button open-type="chooseAvatar" bindchooseavatar="chooseavatar"/b
昵稱 兔子先森
用於做底部懸浮定位,懸浮在tabbar上 在設置tabbar的組件中獲取,利用組件生命週期,獲取tabbar高度,將高度存到本地,用於全局獲取 attached() { let query = wx.createSelectorQuery().in(this); query.select('.custom-tab-bar').bound
昵稱 兔子先森
原生微信小程序提供兩種響應式數據處理方式 1、module:value="{{ xxx }}" 2、setData module:value 第一種方式為簡易雙向綁定,這種雙向綁定只能對應data中的簡單數據類型,例如:string、number、boolean、null,例如: data: { keyword: '' // data中直接定義 }, 頁面用module:va
昵稱 兔子先森
堅持在一線寫前端代碼大概有七八年了,寫過一些項目,有過一些反思,越來越確信平日裏一直用得心安理得某些的東西也許存在着問題,比如:在 狀態管理 上一直比較流行的實踐 🙏,所以試着分享出來探討一下。 為什麼要告別 Redux、Recoil、MobX、Zustand、Jotai 還有 Valtio 今天流行的狀態管理庫有很多,尤其在 React 中。為了把問題説得清晰一些,我想以 React 中的幾個
昵稱 烏柏木
Redux Toolkit 是官方推薦用來簡化Redux開發的工具集。它包含了一些預設的最佳實踐,使得創建和管理Redux狀態變得更簡單。 1. 創建Store 使用configureStore函數來創建Redux store,它會自動配置中間件,如redux-thunk用於處理異步操作。 import { configureStore } from '@reduxjs/toolkit';
昵稱 天涯學館
背景 之前瀏覽過草料二維碼的網站,他的二維碼美化功能很強大,可以分別自定義碼眼和碼點的形狀和顏色,功能十分強大 💪! 碰巧之前寫過一個 npm 插件 qrcode-with-logos, 用於前端生成帶 logo 的二維碼。 而且在 github 的 issues 裏有外國友人 👨🦱 問我能否實現不同樣式的二維碼,剛好以此作為新需求,模仿草料二維碼的樣式和功能,開發了 qrcode-wit
昵稱 suporka
海報分享功能在許多應用中應該是很常見的,因為它作為一種常用的應用推廣和拉新的方式。 接下來看個實際的案例,如下: 把任務拆解下: 如何繪製海報 如何把繪製後的海報保存到相冊 繪製海報 用 canvas 來繪製海報。 這裏需要了解基本的 canvas api,不熟悉可以先去了解下相關 Canvas API 定義 canvas 元素 template view class="
@renzhongdaoyuan_59170ca258c53
昵稱 零一行者
什麼是live2D技術?可以用來做什麼? 請點擊看效果:http://ashuai.work:8890/#/16 簡而言之: 可以用來創建虛擬角色、數字人的技術 達到類似於動漫、插畫、遊戲中的人物效果 可動作交互、語音發聲 可以用到的平台很多,比如Web、Native、Unity、遊戲引擎、JAVA等平台 就前端而言,3D項目使用threejs,2D項目使用pixijs 所以,pix
昵稱 水冗水孚
介紹 名字靈感源於 warped + canvas,扭曲的畫布。 畫布可以被扭曲嗎? 如果你使用過canvas,可能你對setTransform API也有所瞭解,那你可能會給出一個偏消極的答案:只能整體傾斜變形,但做不到扭曲變形。 但這真的做不到嗎? 我們可以先來想一個問題:如果對於一個方方正正的圖像來説,setTransform API施加的變形效果只能作用於整體,那如果把它從斜對角切成兩份三
昵稱 歡進
在前端開發中,處理 HTTP 請求是一個常見且重要的任務。JavaScript 提供了多種方式來發送網絡請求,其中最受歡迎的兩種方式分別就是 Fetch API 和 Axios。儘管兩者都能完成同樣的任務,即從客户端向服務器發送請求並接收響應,但它們在使用方式、功能及靈活性方面各有千秋,下面我們簡單瞭解下。 1. 基礎介紹 Fetch API Fetch API 是現代瀏覽器內置的一個標準 Jav
昵稱 火爆的鍵盤
前言 最近在實現小圖片上傳的過程中剛開始我使用base64字符串做為後台接口參數傳遞給後台並解析保存也沒問題,但是發現第2次及之後就報下面的錯: org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 然後問了AI給的回覆如下: 這個問題通
昵稱 Awbeci
“不在沉默中爆發,就在沉默中滅亡”,面對日益嚴峻的國際環境,我們祖國母親沒有繼續沉默,9月25日8時44分,洲際彈道導彈精準發射。,看到這個新聞,腰也不酸了,腿也不疼了,一口上上五樓,TS 學起來更帶勁了~ 異步處理 在 TypeScript 中,異步編程如同現代社會中的種種現象,紛繁複雜,令人眼花繚亂。而 async/await 正如那一柄利劍,能將這混沌的世界理清,使得程序員不至於深陷於回調的
昵稱 huqi
背景 下載文件功能,點擊下載按鈕,後端返回二進制文件流,前端執行下載文件功能;當返回錯誤信息時前端能夠正確提示。 步驟一:請求設置responseType 請求數據時responseType不同,ArrayBuffer為arraybuffer,blob為blob。 步驟二:對響應進行攔截並判斷 正確情況 創建a標籤並下載。 const blob = new Bl
昵稱 薇薇
RxJS + Fetch: HTTP 請求的新紀元 Reach 是一個使用 RxJS 和原生 Fetch API 構建的 HTTP Client,它受到 Axios 的啓發。 RxJS 用於實現類似於 Axios 中攔截器的功能,它被稱作管道,是比攔截器更加強大的自定義工具。同時它也儘量使用 Web API 而不是自定義數據類型,這使得它十分的輕量。 它使用起來類似這樣: import { R
昵稱 42
Express 簡介 Express 是一個流行的 Node.js Web 應用程序框架,它提供了一組強大的功能和工具,用於構建 Web 應用程序和 API。它是建立在 Node.js 的 HTTP 模塊之上的,通過簡化常見任務和提供靈活的路由機制,使得構建 Web 應用程序變得更加快速和簡單。 它是web框架,能夠提供後端服務能力,並能以類似JSP模版的形式渲染web頁面。 express
昵稱 kexb
NodeJS項目架構設計,看這一篇就足夠了! 前言 大家好,我是倔強青銅三。我是一名熱情的軟件工程師,我熱衷於分享和傳播IT技術,致力於通過我的知識和技能推動技術交流與創新,歡迎關注我,微信公眾號:倔強青銅三。 1. 🧩 整潔架構簡介 Clean Architecture(整潔架構)由Robert C. Martin(Uncle Bob)提出,它強調應用程序內部關注點的分離。該架構提倡業務邏輯
昵稱 倔強青銅三
問題描述 兩年前,筆者寫過一篇文章 《面試官桀桀一笑:你沒做過大文件上傳功能?那你回去等通知吧!》 當時,後端是用java語言寫的 本篇文章,就是講解一下,後端的nodejs如何實現大文件上傳 後端使用node的express框架寫 完整代碼在github上:https://github.com/shuirongshuifu/bigfile 在看本篇文章之前,建議看一下之前的筆者的大
昵稱 水冗水孚
前言 曉傑利用ALists創建了個網盤資源站,想着如何增加個動態驗證碼進行驗證後才能進行訪問下載,剛開始利用了固定的驗證碼,用户可以通過JS代碼中進行繞過或直接拿到驗證碼,經過曉傑多次優化,最終版本支持動態獲取驗證碼,使用了禁止打開控制枱校驗等方式減少繞過幾率,現在分享給大家。 AList介紹 AList是一個支持多種存儲、支持網頁瀏覽和WebDAV的文件列表程序,AList的功能包括但不限於
昵稱 Soujer
鏈接:https://www.platformatichq.com/node-principles 作者:James Snell 等 原標題:9 Principles for Doing Node.js Right in Enterprise Environments Node.js 為超過 630 萬個網站和無數的 API 提供支持,是包括沃爾瑪和網飛在內的現代應用程序的有效基石。每年
昵稱 泯瀧