javascript中的奉承承诺
Flattening promises in javascript
本文关键字:承诺 javascript 更新时间:2023-09-26
bluebird库似乎自动地将Promise::then
用作promise上的"map"answers"flatMap"的等价物,例如参见此示例。
var Promise;
Promise = require('bluebird').Promise;
Promise.resolve(1).then(function(x) {
return Promise.resolve(x + 1);
}).then(function(x) {
return console.log(x); // => `2` (not a promise)
});
Promise.resolve(1).then(function(x) {
return x + 1;
}).then(function(x) {
return console.log(x); // => `2`
});
Promise.reject('hi').catch(function(x) {
return Promise.reject('hi2');
}).catch(function(x) {
return console.error(x); // => `hi2` (not a promise)
});
这是es6 Promise API的合同吗?例如,我在这里或这里没有提到这种扁平化行为。
这是es6 Promise API的合同吗?
是的,它是由Promises/a+建立的一个合同,并从那里进入了ES6规范。你会在这里、这里和这里找到一些讨论。
相关文章:
- JavaScript承诺-无法读取属性'那么'的未定义
- JavaScript承诺的定义以及与事件的区别
- Javascript.同步运行多个承诺
- 当链接javascript承诺时,如何处理then()函数中的条件
- 对javascript承诺的后备支持
- 同步 Javascript 承诺超时以加班 Google 地理编码查询限制
- 执行一系列 Javascript 承诺一个接一个地解决
- JavaScript - 返回承诺和/或调用回调
- JavaScript 中的递归承诺
- JavaScript中的延期/承诺概念是一个新的概念,还是函数式编程的传统部分
- 如何在恢复函数之前等待 JavaScript 承诺解析
- 解析承诺'当'返回undefined(Javascript)
- 用Javascript承诺包装同步代码有什么好处吗
- javascript承诺在循环中或如何逐个调用函数
- Javascript承诺:then()'s是't同步
- Javascript承诺-检索结果
- JavaScript承诺使用Mongoose
- javascript承诺和未来类似于C++
- Cordova SQLite插件承诺javascript链
- 如何在承诺javascript返回值