我在单元测试中看到了一些地方,其中函数从函数调用返回q.allSettled()承诺,并且在承诺中附加了一个.fail。但是,即使拒绝了某些/所有承诺,.allSettled也会给.then打电话。
下面是一个例子:
function someFunctionToTest(){
var aRejectedDeferred = Q.defer();
var anotherRejectedDeferred = Q.defer();
var aResolvedDeferred = Q.defer();
aRejectedDeferred.reject(new Error("
下面的代码使用q.js来获取学生的详细信息。除了获取的类别和城市没有在变量studentdetails中映射之外,一切都正常工作。只包含邮件查询获取的详细信息(姓名、邮箱、id、道布)。我哪里错了?任何线索都将受到高度赞赏。
//fetches category of student
var getJobCategories = function(student) {
var deferred = Q.defer();
var categoryquery = 'select c.name,c.id from category c,stud
我有一个具有某些键的对象,需要更新。更新是通过一个函数(从数据库获取信息)并返回一个promise。原始对象有许多键,只有一些键需要更新。
// mocked response for demonstration
// the call01 function returns an array that make_obj function uses.
// the make_obj function returns an object like var obj.
// the get_data expects an array of ints and returns an array of st
目前,我正试图从通过请求接收到的项目列表中推送到数组( Mongo模型中的属性)。从这些项中,我循环查看当前数据库中的哪个项,如果不是这样,则创建一个新项并尝试保存它。我正在使用承诺来完成这个任务,但是我无法弄清楚为什么在所有的承诺都实现之后数组是空的。
var q = require('q');
var items_to_get = ['1', '2', '3']; // example array
var trans = new Transaction({
items : []
});
var pro
我正在学习如何使用数组和异步mongo查询的承诺。下面是我目前使用的方法,但是Q.allSettled在mongo查询b/c之前执行,Q.allSettled正在查看的数组中没有任何东西被推送。
如何修改此方法,以便在Q.allSettled.spread执行之前执行所有异步查询?
function buildCaseObject() {
var returnPromise = Q.defer();
var promises = [];
var allObjects = [];
var subjects = rdb.colle
下面的代码位于“然后”块中
我面临的问题是,当我执行res.json(optionData1)时,它没有返回完全完成的js数据对象,即在缺少processData函数之后的输出
我是否以正确的方式使用Q.all?
var processUserInfo = function(categoryToProcess, inputToProcess, optionComingIn) {
var d = Q.defer();
if (optionData1['option'] == optionComingIn) {
if (optionData1[categ
在promise内部,我需要在单独调用异步API响应之后,或者在另一个promise内部,或者在promise之后,但在另一个promise之前,调用和处理不确定数量的异步API响应,以便遵守执行顺序。
var promiseA = function() {
return new Promise(function(resolve, reject) {
// 1. Establish objects needed from one API endpoint
// 2. Call API endpoint for each object and parse
// 3. Only t
基本上,在下面的脚本中,我想知道是什么URL请求导致了失败状态。
我是否需要将其封装在一个对象中,然后继续向下游传递?
var Q = require('q')
var _ = require('underscore')
var JSON = require('JSON')
var FS = require("q-io/fs");
var HTTP = require("q-io/http");
FS.read('members.json').then(function(memberJson){
基本上,我有一个吨的对象,我想测试的网站上。我使用下划线将URL转换为HTTP请求的承诺数组。一旦失败,链就会终止(我预料到这一点)。是否有可能收集所有故障并返回到failures函数?还是我要用allSettled写这个,然后解析它呢?
var Q = require('q')
var _ = require('underscore')
var JSON = require('JSON')
var FS = require("q-io/fs");
var HTTP = require("q-io/http");
我正在查询一个REST-API来获取所有组。这些团体分批50人。在继续处理它们之前,我想把它们全部收集起来。
到目前为止,我一直依赖回调,但我希望使用承诺来链接所有组的检索,然后进一步处理结果数组。
我只是不太明白如何用承诺来替换递归函数调用。
如何使用A+承诺来逃避我用这段代码创建的回调地狱?
function addToGroups() {
var results = []
collectGroups(0)
function collectGroups(offset){
//async API call
sc.get('/tracks/
我试图在一个循环中对一个异步API执行几次调用,直到返回我想要的值(本例中是true)。问题是,在找到该值之后,我不想继续循环,而且我不想在循环之后执行行,而没有从it...but返回的值,到目前为止,我无法执行该操作。我想我在这里做错了什么,但是“我不能了解整个情况”。
function isSelected(element, callback) {
// This is a little bit confusing for me...can I just get the value from
// getDataAsync without using isSelected func