首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Salesforce Javascript(一) Promise 浅谈

所以说承诺可能具有以下的情况。 1. 承诺将给你一个保证,这个保证自己做别人做怎么实行,不清楚也不重要,重要的是他给了你承诺,你可以在这个承诺的基础上做你计划的事情。...承诺通常都不是当时就一下子做的,通常都应该有一定时间进行异步操作。 所以我们通过中文的了解的现实承诺的场景,去了解一下 js中的Promise的概念。...的状态变成 rejected,executor的返回值将被忽略。...这样描述乱乱的,将这个分拆一些细节点。 1. Promise只拥有三种状态: pending (初始状态)、 fulfilled(操作成功)、rejected(操作失败)。...这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象。

74920
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    蚂蚁区块链第7课 零知识证明隐私保护原理和蚂蚁BAAS接口调用实现

    面对强盗,阿里巴巴是这么想的:如果我把咒语告诉了他们,他们就会认为我没有价值了,就会杀了我省粮食;但如果我死活不说,他们也会认为我没有价值而杀了我。...零知识证明并不是数学意义上的证明,因为它存在小概率的误差,欺骗者有可能通过虚假陈述骗过证明者。换句话来说,零知识证明是概率证明而不是确定性证明。但是也存在有技术能将误差降低到可以忽略的值。...to 是 identity 承诺所属账户 value_enc 是 bytes 承诺数值 返回值 参数 必选 类型 说明 result 是 bool 方法返回值,成功为 true,否则为 false...函数原型 VerifyBalance(uint range) returns(bool); 请求参数 参数 必选 类型 说明 index 是 uint balance 验证索引 返回值 参数 必选 类型...是 int64 验证范围最小值 返回值 参数 必选 类型 说明 result 是 bool 方法返回值,成功为 true,否则为 false 4.3 Java SDK 隐私保护接口说明 Java

    1.9K30

    怎么理解JS Promise

    这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象 看完这段话我的内心一阵无语,我就只能怪我自己的理解能力好像没有达到水准一样,并不完全懂这段话在说什么...,这让我一度怀疑我这智商是不是不够用了,怎么就没理解这段话说的是什么意思。...resolve或reject函数如果被调用了就会把函数里的结果作为参数传递出去;resolve是把函数里的结果传递出去,而reject就说明是承诺没实现,这相当于是出错误了,所以它会把报错的信息作为参数传递出去...参数的值就是promise没有实现而调用reject()所返回的错误信息值在这个例子就是 err 。...事实上,Promise的.then()方法其返回值是一个新的promise对象,相同类型的对象是可以链式调用的。 我们继续那小花的例子来说。

    11.7K30

    手写系列-这一次,彻底搞懂 Promise

    当我在麦当劳点一份汉堡套餐,收银员会给我一张收据,这个收据就是 Promise,代表我已经付过钱了,麦当劳会为我做一个汉堡套餐的承诺,我要通过收据来取这个汉堡套餐。...那么这个买汉堡得到的承诺会有以下 3 种状态: 等待状态:我刚下单,汉堡还没做好,这时我可以在等待汉堡时,同时做其他事情; 成功状态:汉堡做好了,通知我取餐; 失败状态:发现卖完了,通知我退款; 需要注意的是...总结一下,Promise 就是一个承诺,承诺会给你一个处理结果,可能是成功的,可能是失败的,而返回结果之前,你可以同时做其他事情。...MyPromise 实例; then 内部调用回调时,需通过 resolvePromise 方法判断返回值 x 的类型来处理返回值。...如果参数是 promise 会等待这个 promise 解析完毕,在向下执行,所以这里需要在原来 resolve 方法中做一个小小的处理: // 修改 Promise 状态,并定义成功返回值 resolve

    41530

    手写系列-这一次,彻底搞懂 Promise

    当我在麦当劳点一份汉堡套餐,收银员会给我一张收据,这个收据就是 Promise,代表我已经付过钱了,麦当劳会为我做一个汉堡套餐的承诺,我要通过收据来取这个汉堡套餐。...那么这个买汉堡得到的承诺会有以下 3 种状态: 等待状态:我刚下单,汉堡还没做好,这时我可以在等待汉堡时,同时做其他事情; 成功状态:汉堡做好了,通知我取餐; 失败状态:发现卖完了,通知我退款; 需要注意的是...总结一下,Promise 就是一个承诺,承诺会给你一个处理结果,可能是成功的,可能是失败的,而返回结果之前,你可以同时做其他事情。...MyPromise 实例; then 内部调用回调时,需通过 resolvePromise 方法判断返回值 x 的类型来处理返回值。...如果参数是 promise 会等待这个 promise 解析完毕,在向下执行,所以这里需要在原来 resolve 方法中做一个小小的处理: // 修改 Promise 状态,并定义成功返回值 resolve

    23830

    ES6 Promise详解之缝合红宝书ES6标准入门

    then方法的第一个参数是Resolved状态的回调函数,第二个参数(可选)是Reject状态的回调函数。 then方法返回的是一个新的Promise实例(注意!...Promise的then链式调用的特点 链式调用的特点: 第一个then执行完会执行第二个then then里面的函数的返回值,会被下一个then的形参接收 如果返回的是一个promise对象,下一个then...那个率先改变的Promise实例的返回值,就传递给p的返回值。...如果Promise.all方法和Promise.race方法的参数,不是Promise实例,就会先调用下面讲到的Promise.resolve方法,将参数转为Promise实例,再进一步处理。...如果 Promise.resolve 方法的参数,不是具有 then 方法的对象(又称 thenable 对象),则返回一个新的 Promise 对象,且它的状态为fulfilled。

    64730

    通俗的解释什么是Promise

    大家好,又见面了,我是你们的朋友全栈君。 Promise是什么? Promise英文翻译过来意为承诺,许诺。它的作用就像中文意思一样,是一种许诺。...这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象。...(异步方法执行结束之后需要对返回值做处理) 这时候怎么办呢,就用promise(承诺): 就说这个事情交给我吧,我承诺我去买菜,买完回来马上给你做红烧排骨,做完马上就叫你吃(这个地方相当于promise...}); then 方法返回一个 Promise。它最多需要有两个参数:Promise 的成功和失败情况的回调函数。...,返回的结果也是一个数组,将会按照参数内的 promise 顺序排列,而不是由调用 promise 的完成顺序决定.

    89320

    JavaScript中的Promises

    promise是一个将来会返回值的对象。由于这种未来的东西,Promises非常适合异步JavaScript操作。 如果你不明白异步JavaScript意味着什么,你可能还不适合读这篇文章。.... #*$% 我的朋友,这就是对Promise的剖析了。 在JavaScript中,我们通常使用promises来获取或修改一条信息。当promise得到解决时,我们会对返回的数据执行某些操作。...那么,我们来回答下一个问题 -- 在异步JavaScript中为什么要使用promise而不是回调呢?...Promises vs Callbacks 开发人员更喜欢promises而不是callbacks有三个原因: Promise减少了嵌套代码的数量 Promise允许你轻松地可视化执行流程 Promise...为此,你使用Promise.all方法,然后传入一组你想要等待的promises。then的参数将会是一个数组,其包含你promises返回的结果。

    79620

    【译】JavaScript中的Promises

    promise是一个将来会返回值的对象。由于这种未来的东西,Promises非常适合异步JavaScript操作。 如果你不明白异步JavaScript意味着什么,你可能还不适合读这篇文章。.... #*$% 我的朋友,这就是对Promise的剖析了。 在JavaScript中,我们通常使用promises来获取或修改一条信息。当promise得到解决时,我们会对返回的数据执行某些操作。...那么,我们来回答下一个问题 -- 在异步JavaScript中为什么要使用promise而不是回调呢?...Promises vs Callbacks 开发人员更喜欢promises而不是callbacks有三个原因: Promise减少了嵌套代码的数量 Promise允许你轻松地可视化执行流程 Promise...为此,你使用Promise.all方法,然后传入一组你想要等待的promises。then的参数将会是一个数组,其包含你promises返回的结果。

    1.4K20

    C# 4.0新特性-协变与逆变以及背后的编程思想

    ,我们就可以这样的定义协变和逆变:如果类型TBar是基于强类型Bar的类型(比如类型参数为Bar的泛型类型,或者是参数/返回值类型为Bar的委托),而类型TFoo是基于弱类型Foo的类型,协变就是将TBar...具体来说输入参数类型为逆变,返回值类型为协变。...然后,你再想想为什么逆变用in关键字,而协变用out关键字。这两个不是偶然,实际上我们可以将协变/逆变与输出/输入匹配起来。 我们再从另一个角度来理解协变与逆变。...将契约的观点应用在委托上面,委托实际上定义了一个方法的签名(参数列表和返回值),那么参数和返回值的类型就是契约,现在的关键是谁去履行这份契约。...而对于委托的返回值,这是给外部服务的,是委托自身对外界的一种承诺,所以它自己是契约的履行着,因此它自己应该是强类型。相应地,对于代理本身来说,返回值是一种输出,也就是一种采用out关键字定义的协变。

    63880

    异步与回调函数的作用域链

    同步任务是那些没有被引擎挂起、在主线程上排队执行的任务。只有前一个任务执行完毕,才能执行后一个任务。 异步任务是那些被引擎放在一边,不进入主线程、而进入任务队列的任务。...答案就是引擎在不停地检查,一遍又一遍,只要同步任务执行完了,引擎就会去检查那些挂起来的异步任务,是不是可以进入主线程了。这种循环检查的机制,就叫做事件循环(Event Loop)。...所以$.ajax()是异步的,我们拿到的只是一个承诺(Promise),我承诺会执行,并承诺会在拿到结果后执行什么什么什么 如下: ?...所以$.ajax()返回的结果是一个承诺,不是结果,因为结果还没有到来 使用回调函数 使用回调要用这样的形式 fn(参数1,参数2,()=>{ 回调函数(xxx,xxx,()=>{}) }) 不要用...fn(参数1,参数2,回调函数(xxx,xxx)) 因为这个参数里传入的回调函数(xxx,xxx)并不是函数本身,而是运行完毕之后的返回值.

    1.8K40

    写给 Java 程序员的前端 Promise 教程

    这就是前端所谓的回调地狱。而 Promise 就是来解决回调地狱的。 2. Promise Promise 从字面上理解,就是承诺,承诺将来在某一个时间会做某一件事。...3. then then 中的返回值可以分为三种情况。...就说一句,如果 then 中返回的是一个 Promise 对象,那么接下来的 then 其实是这个 Promise 对象的 then,而不是一开始的 Promise 的 then 了。...好啦,这就是 then 中的三种返回值情况。 4. catch catch 主要是用来处理异常的情况,两种情况下会进入到 catch 中: Promise 执行的时候通过 reject 返回数据。...方法都返回的时候,或者所有输入的 Promise 对象中有一个 reject 的时候,这个 all 就会执行结束,来看如下一个案例: const promise1 = Promise.resolve(

    34720

    里式替换原则

    当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。 理解比死记要强。...每个类都会有public方法,有些类会实现interface,供其他类使用,也就是处在一个服务的位置上。每个public方法都是自身所做出的一个承诺,只要你按照要求调用,就会提供正确的服务。...子类在继承后,固然是获得了超类的带来的‘财富’,更重要的是要遵守超类做出的承诺,破坏了这个承诺实际上是没有资格继承超类的。...每个方法都会有先验条件-对调用方的要求,后验条件-自身做出的承诺,子类在继承后要严以律己,宽以待人,也就是说子类可以放宽先验条件,但对后验条件只能缩紧不能放宽。...上面的返回值,抛出异常都是对这个要求的细化。平时工作中我们也要仔细设计类层次,谨防破坏承诺的事情发生,不然很容易就出现一堆if else,代码中隐藏的臭虫也会更多。 愿大家共勉。

    62230

    Zerocoin: Anonymous Distributed E-Cash from Bitcoin

    同时,如果承诺和零知识证明是安全的,那么Alice 只有在重新使用序列号 的情况下花费任何硬币两次,这样被其他节点检测到。...有关的符号定义 令 表示可调整的安全参数,令 表示多项式函数,而 表示可忽略的函数,用 表示允许的硬币值集。...输入安全参数 后,输出一组全局公共参数 和对硬币集合 的描述。 输入参数 ,输出硬币 以及陷门 。...其他节点在接受新区块进入区块链之前验证此计算。 如果在将块添加到链中时定期进行此验证,则某些客户端可以选择信任较旧(已确认)的块中累加器,而不是从头开始重新计算。...相反,她只能参考当前块的累加器检查点 并从其 之前的检查点开始计算见证(而不是从T0开始),因为计算见证相当于累积 。 新交易类型 通过添加一条新指令来扩展比特币: 。

    2.4K20

    The Cascades Framework for Query Optimization(翻译)

    一旦找到一个绑定,它就被转换成由"EXPR"节点组成的树(请注意,这个类是DBI接口的一部分,而优化器的内部数据结构不是)。...如果一个属性集比另一个属性集更具体,例如,一个属性集指示按属性"A、B、C"排序的结果,而另一个属性集仅要求按"A、B"排序,则比较方法返回值"MORE"。...该类的每个实例都是树中的一个节点,由一个算子和两个指向输入节点的指针组成。显然,任何表达式节点中的子节点数量必须等于节点算子的arity函数。...对于未经引导的穷尽搜索,所有promise函数都应返回值1.0。值为0或更低将阻止优化器继续为当前规则和表达式工作。...虽然promise函数返回表示承诺等级的实数值,但condition函数返回一个布尔值,以指示规则是否适用。除了promise和condition函数之外,一小组方法与规则相关联。

    53640

    算法与数据结构之二-------单链表

    k节点                      输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   插入会改变节点的结构,如果是头节点插入,会修改头节点的。...s节点                      输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   插入会改变节点的结构,如果是头节点插入,会修改头节点的。        ...X的节点                     输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   先找到i-1节点,然后在i-1节点后找出入一个节点,即i 位置的节点...                     输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   插入会改变节点的结构,如果是头节点插入,会修改头节点的。...s节点                      输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   插入会改变节点的结构,如果是头节点插入,会修改头节点的。

    17120

    算法与数据结构之四----双向链表

    输入参数:  链表头指针和位置i 返回值:  节点指针,如果为NULL,说明没有找到,否则说明找到,为temp指针指向的节点 说明:查找不能影响原来链表的结构...k节点                      输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   插入会改变节点的结构,如果是头节点插入,会修改头节点的。...k节点                      输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   插入会改变节点的结构,如果是头节点插入,会修改头节点的。        ...                     输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   插入会改变节点的结构,如果是头节点插入,会修改头节点的。...                    输入参数:  链表头指针和p节点位置 返回值:   头节点 说明:   先找到i-1节点,然后在i-1节点后找出入一个节点,即i 位置的节点。

    16830
    领券