Promise A+ 规范
英文原文:Promise/A+译者序:一年前曾译过 Promise/A+ 规范,适时完全不懂 Promise 的思想,纯粹将翻译的过程当作学习,旧文译下来诘屈聱牙,读起来十分不顺畅。谁知这样一篇拙译,一年之间竟然点击数千,成为谷歌搜索的头条。今日在理解之后重译此规范,以飨读者。一个开放、健全且通用的 JavaScri...
2024-01-10动手自己写一个Promise
前言理解一个东西最好的办法之一就是动手自己写,So,他(Promise)来了。废话不多说,来看如何实现。Promise 解析先来看Promise用法:new Promise((resolve, reject) => {resolve('hello'); // or reject('hello')}).then(res => {}).catch(err => {})-----------分割线// 分解一下,也就是下面这样let executor = (resolve, reject) =...
2024-01-10趁着过年,讲讲Promise
趁着过年,将讲 Promise想象一下,你是一位顶级歌手,粉丝们日日夜夜都在为你即将发行的歌曲而发愁。为了缓解压力,你答应出版后寄给他们。你给你的粉丝一个列表。他们可以填写自己的电子邮件地址,这样当歌曲可用时,所有订阅方都能立即收到。即使出了什么大问题,比如工作室着火了,你...
2024-01-10事件触发时触发Promise
我的整个项目都使用(Bluebird)Promises,但是有一个使用EventEmitter的特定库。我想要实现以下目标:Promise.on('connect', function() { x.doSomething();}).then(function() { return new Promise(function(resolve) { y.doAction(resolve); // this will result in `eventB` getting emitted ...
2024-01-10Promise对象和任务队列
Promise对象的两个特点对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)一旦状态改变,就不会再变。状态的改变有两种可能:从pending到fulfilled和从pending变为rejected。优点有了Promise对象,就可以将异步操作以同步操作的流程表达...
2024-01-10js中Promise的状态探究
1、promise可以处于等待被赋值的等待态(pending),可以给出值并转换为解决态(resolved)。2、一旦promise被一个值resolve丢失,它将始终保持这个值不再被resolve丢失。实例function Promise(fn) { var state = 'pending'; var value; var deferred; function resolve(newValue) { value = newValue; state = 'resolved';...
2024-01-10JS 9个Promise面试题
目录1. 多个.catch2. 多个.catch3. 链接.then和.catch4. 链接.catch5. 多个.catch6..then之间的流程7..then之间的流程8..then之间的流程9..then和.catch之间的流程1. 多个.catchvar p = new Promise((resolve, reject) => { reject(Error('The Fails!'))})p.catch(error => console.log(error.message))p.catch(er...
2024-01-10手把手教你实现 Promise
前言很多 JavaScript 的初学者都曾感受过被回调地狱支配的恐惧,直至掌握了 Promise 语法才算解脱。虽然很多语言都早已内置了 Promise ,但是 JavaScript 中真正将其发扬光大的还是 jQuery 1.5 对 $.ajax 的重构,支持了 Promise,而且用法也和 jQuery 推崇的链式调用不谋而合。后来 ES6 出世,大家才开始进入全民 Pro...
2024-01-10【JS】Promise基础知识
一、概念描述:Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象...
2024-01-10ES6关于Promise的用法
Node的产生,大大推动了Javascript这门语言在服务端的发展,使得前端人员可以以很低的门槛转向后端开发。当然,这并不代表迸发成了全栈。全栈的技能很集中,绝不仅仅是前端会写一些HTML和一些交互,后台熟悉数据库的增删查改。想必接触过Node的人都知道,Node是以异步(Async)回调著称的,其异步性...
2024-01-10ES6中的Promise代码详解
废话不多说了,直接给大家贴代码了,具体如下所示:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body><script>var a=0var test=function(resolve, reject){ setTimeout(function(){ a=4; console.log(a) if(a<2){resolve('200 OK');} if(a>2...
2024-01-10自己实现一个简易版Promise
一、了解PromisePromise 是异步编程的一种解决方案,ES6新增的一个对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步处理。Promise有以下两个特点:(1)Promise 的状态不受外界影响。Promise 翻译过来是承诺的意...
2024-01-10处理Promise.all中的错误
我有一系列要解决的承诺 Promise.all(arrayOfPromises);我继续继续诺言链。看起来像这样existingPromiseChain = existingPromiseChain.then(function() { var arrayOfPromises = state.routes.map(function(route){ return route.handler.promiseHandler(); }); return Promise.all(arrayOfPromise...
2024-01-10如何将参数传递给Promise函数
这似乎是一个愚蠢的问题,但是我是这个话题的新手。我正在致力于关于节点js的承诺。我想将参数传递给Promise函数。但是我不知道。someModule.someFunction.then(username, password,function(uid) { /*stuff */}而功能类似于var someFunction = new Promise(username, password, function(resolve, reject) { /*stuff using username, passw...
2024-01-10Promise 你真的用明白了么?
文章首发自笔者的 Github。Promise 关于 API 这块大家应该都能熟练使用,但是和微任务相关的你可能还存在知识盲区。前置知识在开始正文前,我们先把本文涉及到的一些内容提前定个基调。Promise 哪些 API 涉及了微任务?Promise 中只有涉及到状态变更后才需要被执行的回调才算是微任务,比如说 then、 ...
2024-01-10Promise.all从API的拒绝
我已经通过其他stackoverflow答案看了,似乎无法找到答案。Promise.all从API的拒绝实际上,我正在写一个模块来验证一些数据,然后如果没有错误将它传递给第三方api。我的问题是,如果Promise.all拒绝,那么我的初始呼叫承诺仍然移动到下一个。------my main app--------- const data = [1,0,1] api.sendData(data) .the...
2024-01-10Promise和AJAX有什么区别?
Promise和AJAX调用都是异步操作。两者都可以进行GET / POST请求。<< 编辑:那是错误的陈述那么它们之间有什么区别呢?并且什么时候最好使用一个而不是另一个呢?另外,还有一件事:最近,我遇到了一个承诺,其中包含AJAX。为什么要在异步操作中放入异步操作?这就像在面包三明治中放一块面包。fu...
2024-01-10微信小程序使用Promise简化回调
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上...
2024-01-10深入理解JS异步编程-Promise
前言“JS 是基于单线程事件循环”的概念构建的,回调函数不会立即执行,由事件轮询去检测事件是否执行完毕,当执行完有结果后,将结果放入回调函数的参数中,然后将回调函数添加到事件队列中等待被执行。同时也讲了回调函数的问题:一是“回调地狱”,因为异步回调函数的特点:回调函...
2024-01-10Promise.all:已解析值的顺序
查看MDN看起来像values传递给then()Promise的回调。all包含按promise顺序的值。例如:var somePromises = [1, 2, 3, 4, 5].map(Promise.resolve);return Promise.all(somePromises).then(function(results) { console.log(results) // is [1, 2, 3, 4, 5] the guaranteed result?});谁能引用规范说明values应该...
2024-01-10关于Promise 异步编程的实例讲解
实例如下所示://1.解决异步回调问题//1.1 如何同步异步请求//如果几个异步操作之间并没有前后顺序之分,但需要等多个异步操作都完成后才能执行后续的任务,无法实现并行节约时间const fs = require('fs');let school = {};fs.readFile('./name.txt','utf8',function (err,data) { school.name = data;});fs.readFile('./age.txt','utf8...
2024-01-10如何从函数调用中读取Promise解析值
我总共有2个函数,一个函数返回一个新的Promise并解析为一个变量,如下所示: function promiseTest(data) { const delay = 200; return new Promise(resolve => setTimeout(() => resolve(data), delay)); }然后是另一个函数,我在其中调用此函数,然后为该data变量插入一个JSON对象。 function getInfo() { return promiseTest...
2024-01-10特皮技术团队:一年前端手写Promise
从零手写Promise在这个前端快速发展的时代,今天不努力,明天变垃圾,虽然这是一个表情包上看到的,相信大家一定都看过,说实在的,这话是粗,但是事实就是如此。言归正传我们看看今天的内容把。上次我们看了js的重点也是难点 “异步”,趁热打铁,今天看看从零手写Promise我们先看看代码...
2024-01-10我应该避免异步处理Promise拒绝吗?
我刚刚安装了Node v7.2.0,并了解了以下代码:var prm = Promise.reject(new Error('fail'));结果消息:(node:4786) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: fail(node:4786) DeprecationWarning: Unhandled promise rejections are deprecated....
2024-01-10如何利用ES6进行Promise封装总结
原生Promise解析简介promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和强大。promise简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,从语法上来说,Promise是一个对象,从它可以获取异步操作的消息,Promise提供统一的API,各种异步...
2024-01-10