錯誤寫法
export const checkSDK = () => { var timer = null; const start = Date.now(); return new Promise((resolve, reject) => { if (typeof window.TigerBridge === "object") { resolve(); return; } if (Date.now() - start <= 5 * 1000) { clearTimeout(timer); timer = setTimeout(checkSDK, 100); return; } reject(); }) }
正確寫法
export const checkBridge = () => { var timer = null; const start = Date.now(); function check(resolve, reject) { if (typeof window.TigerBridge === "object") { resolve(); return true; } if (Date.now() - start <= 5 * 1000) { clearTimeout(timer); timer = setTimeout(check.bind(null, resolve, reject), 100); return; } reject(); return false; } return new Promise((resolve, reject) => check(resolve, reject)) }
模仿SDK注入過程,
if (process.env.NODE_ENV != "production") { setTimeout(() => { window.TigerBridge = { getAccessToken: () => { return pkg.token; }, isAccountPermissionLimited: () => false }; }, 1600); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92266.html
摘要:就是每次傳入的函數(shù)最后是的任務(wù)之后,開始執(zhí)行,可以看到此時會批量執(zhí)行中的函數(shù),而且還給這些中回調(diào)函數(shù)放入了一個這個很顯眼的函數(shù)之中,表示這些回調(diào)函數(shù)是在微任務(wù)中執(zhí)行的。下一模塊會對此微任務(wù)中的插隊(duì)行為進(jìn)行詳解。 有關(guān)Eventloop+Promise的面試題大約分以下幾個版本——得心應(yīng)手版、游刃有余版、爐火純青版、登峰造極版和究極變態(tài)版。假設(shè)小伙伴們戰(zhàn)到最后一題,以后遇到此類問題,都是...
摘要:異步函數(shù)是值通過事件循環(huán)異步執(zhí)行的函數(shù),它會通過一個隱式的返回其結(jié)果。 async 異步函數(shù) 不完全使用攻略 前言 現(xiàn)在已經(jīng)到 8012 年的尾聲了,前端各方面的技術(shù)發(fā)展也層出不窮,VueConf TO 2018 大會 也發(fā)布了 Vue 3.0的計(jì)劃。而在我們(我)的日常中也經(jīng)常用 Vue 來編寫一些項(xiàng)目。那么,就少不了 ES6 的登場了。那么話說回來,你真的會用 ES6 的 asyn...
摘要:中叫做調(diào)用棧先進(jìn)后出,后進(jìn)先出。如下圖這是典型的內(nèi)存溢出,可能會出現(xiàn)在某些場景下需要遞歸,但業(yè)務(wù)邏輯中的判斷又沒能正常計(jì)算進(jìn)入到預(yù)設(shè)情況,于是調(diào)用棧中不斷進(jìn)入,又無法執(zhí)行完,就造成內(nèi)存溢出了。 本文主要介紹Javascript事件循環(huán)在瀏覽器上的一些特性和應(yīng)用介紹。 Javascript小知識 JavaScript的并發(fā)模型基于事件循環(huán)(Event Loop)。這個模型與像C或者Jav...
摘要:三模式模式其實(shí)包含兩部分和。六化在編碼的時候,想要用進(jìn)行異步操作流程控制,就要將當(dāng)前的異步回調(diào)函數(shù)封裝成。 一、什么是promise/deferred 模式 promise/deferred 模式是,根據(jù)promise/A 或者它的增強(qiáng)修改版promise/A+ 規(guī)范 實(shí)現(xiàn)的promise異步操作的一種實(shí)現(xiàn)方式。 異步的廣度使用使得回調(diào),嵌套出現(xiàn),但是一但出現(xiàn)深度的嵌套,就會讓codi...
閱讀 2326·2021-09-22 15:27
閱讀 3178·2021-09-03 10:32
閱讀 3506·2021-09-01 11:38
閱讀 2503·2019-08-30 15:56
閱讀 2220·2019-08-30 13:01
閱讀 1543·2019-08-29 12:13
閱讀 1425·2019-08-26 13:33
閱讀 899·2019-08-26 13:30