我正在尝试使用使用 Bluebirds Collection 功能的承诺链。
例如其中一个脚本:
var rest = require("./promisified_restler.js");
function memory(token) {
CHECK='cfDJO9im';
URL='https://monitoring.api.foo.com/v1.0/833/';
SLUG='entities/en5mKIvs/checks/';
MODE='/test';
url = CHECK+URL+SLUG+CHECK+MODE
headers = { headers:
{ "X-Auth-Token": token }
}
return rest.post(url, headers);
}
module.exports = memory;
主脚本:
var getToken = require('./get_token.js');
var memory = require('./memory.js');
var cpu = require('./cpu.js');
var http = require('./http.js');
var httpPort = require('./http_port.js');
var network = require('./network.js');
getToken()
.catch(function(e) {
console.log(e);
})
.all([cpu(token), memory(token)]).spread(function(cpu_result,
memory_result) {
console.log(JSON.stringify(cpu_result));
console.log(JSON.stringify(memory_result));
});
如何将令牌值传递给每个返回承诺对象的函数?
如果一个 Promise 对象返回被拒绝,Promise.all() 会发生什么?.all() 是否停止、返回 false 并且未完成数组中的其余项目?
- 功能/承诺对象是否并行运行?
- 是否可以让 spread() 只接受一个参数并将其应用于返回的每个值?例子:
.spread(function(returnedValue) {console.log(JSON.stringify(returnedValue)); });