我想知道以下两个之间有区别吗?
aPromiseObj.then(fn1).then(fn2).catch(fn3);
aPromiseObj.then(fn1); aPromiseObj.then(fn2); aPromiseObj.catch(fn3);
工作流程会改变吗?
ps:虽然我想更广泛地考虑这一点,但我处于有偏见的环境中。
您已经问过 “链接” 与 “分支” 。
假设f1
并且f2
表示返回诺言的异步操作,是的,两者之间存在显着差异。对于选项1:
fn1
,fn2
因此fn2
直到fn1
解决了返回的promise后才调用它。 .catch()
适用于fn1
或中的错误fn2
fn2
如果fn1
拒绝,则不会调用。对于选项2:
fn2
不等待fn1
解决。 fn2
一旦fn1
返回类似于的,就会被调用fn1(); fn2();
。这意味着异步操作由同时开始fn1
和fn2
同时进行(有时称为并行运行而不是串行运行)。.catch()
,因为它不是由要么创建的承诺并不适用于任何.then()
电话。fn1
并fn2
会在任何的错误而不考虑调用。问题内容: 使用以下两种方法计算签名有什么区别? 计算签名 使用SHA256计算SHA256 并使用摘要计算摘要以获得签名? 如果它们不同,是否有办法修改方法2,使两个方法给出相同的输出? 我尝试了以下代码: 但是,输出并不相同。 以下是带有我的测试键的示例输出: 方法1: 方法2: 更新1: 根据mkl的回答,我修改了代码,但仍然无法正确执行。我还想念什么吗? 方法1: 方法2: 问题答案: 用
问题内容: 我的Google-fu使我失败了。 在Python中,以下两个相等测试是否等效? 这是否适用于您要比较实例(list说)的对象? 好的,这样可以回答我的问题: 因此,==测试重视在哪里is进行测试以查看它们是否是同一对象? 问题答案: 如果两个变量指向同一个对象(如果变量引用的对象相等),则将返回。 在您的情况下,第二个测试仅能工作,因为Python会缓存小的整数对象,这是实现细节。对
问题内容: 有时我看到: 有时我看到: 两种形式之间有区别吗?是否有令人信服的理由使用一种形式而不是另一种形式? 问题答案: 这两种形式没有实际的区别,但是从_语法的_角度来看,两者之间的区别是第一个示例a中将包含分组运算符(括号),其中包括: 在第二个示例中,我们首先拥有一个整数,其中包含:
问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:
问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。