q相关内容
我的库使用kriskowal/Q promises library,现在我正在尝试加载使用我的库的应用程序(使用requijs),因此我放置了所有路径和垫片,我的requirejs.config部分如下所示: requirejs.config({ baseUrl: './', catchError: false, paths: { beril: '..
..
我在循环中进行了多个 mongoDB 查询.并希望将所有结果作为一个数据数组发送.但是当我简单地使用 return 发送数据时,它只是返回 undefined 并且不等待所有 DB 请求的结果.我也尝试使用 q.moulde 但同样的问题. 代码: var getPrayerInCat = function(data){变量结果;var finalData = [];如果(数据.长度 >
..
我已经开发 JavaScript 几年了,我完全不理解关于 Promise 的大惊小怪. 看来我所做的只是改变: api(函数(结果){api2(函数(结果2){api3(函数(结果3){//做工作});});}); 无论如何我都可以使用像 async 这样的库,例如: api().then(function(result){api2().then(函数(result2){api3()
..
我使用 mbostock/queue 对少数异步操作进行排队.更多的是速率限制(UI 生成的事件很少,后端可以缓慢地处理它),并确保它们按顺序处理.我喜欢用它 函数请求(d, cb) {//一些异步操作添加.然后(函数(){cb(null, "完成")})}var addQ = queue(1);addQ.defer(request)//由 UI 生成的少数 req 以更高的速率调用 我已经使
..
作为我正在编写的一个小程序的一部分,我想使用 gulp 将大量文件转换为 markdown.这不是独立于程序的构建步骤的一部分.这是程序的一部分.所以我没有使用 gulpfile 来处理这个问题. 问题是,因为它是异步的,所以我想使用一个 Promise,它会在 gulp 任务完成时提醒我. 这样的东西是理想的: io.convertSrc = function() {var def
..
我有一个控制器,它公开了一个函数,该函数在休息调用后返回一些文本.它工作正常,但我无法用 Jasmine 测试它.测试中 Promise 处理程序中的代码永远不会执行. 控制器: /* 全局 Q */'使用严格';angular.module('myModule', ['some.service']).controller('MyCtrl', ['$scope', 'SomeSvc', f
..
我有以下茉莉花测试: it('应该解决promise', inject(function ($q, $rootScope) {函数 getPromise(){var deferred = $q.defer();设置超时(函数(){deferred.resolve(true);}, 1000);返回 deferred.promise;}var p = getPromise();var cb = j
..
async vs. Q 一般 我正在学习 Node.js 开发,并试图让我的大脑围绕管理异步“回调地狱"的策略.我探索的两个主要策略是 Caolan McMahon 的 async 模块和 Kris Kowal 基于承诺的 Q 模块. 像许多其他人一样,我仍在努力理解什么时候应该使用一个与另一个.然而,总的来说,我发现 promise 和基于 Q 的代码稍微更直观,所以我一直在朝着这个
..
我用 nodejs 编写的代码让我使用 Q Promises 感到困惑 theFunction().then(函数(数据){var deferred = Q.defer()var 结果 = [];for(i=0; i
..
function foo(options) {如果(!isValid(选项)){//我想在这里返回一个已解决的承诺,以允许客户端代码继续而不会失败}返回 promisifiedThirdPartyApi(options);//没有成功处理无效的选项对象} 如何在“无效"的情况下惯用地返回已解决的承诺? 解决方案 Native Promises 看看原生 Promise 对象的静态方
..
例如,在 kriskowal 的 Q 中,您可以执行以下操作: promise1.then(function(p1){var p2 = makePromise2();var p3 = makePromise3();var p4 = makePromise4();返回 [p2, p3, p4];}).all(承诺,功能(){console.log('所有承诺都已完成');}, 函数(原因){con
..
我想做一些非常简单的事情,但我有点不明白...... var Q = require('q');var funcs = [“第一",“第二",“第三",“第四"];函数主(){//真的不知道如何在这里顺序链接...var 结果 = Q();funcs.forEach(函数(f){结果 = 治疗(f).然后(f);});}函数治疗(t){var deferred = Q.defer();设置超时(
..
使用 Q 我可以定义一个新的承诺: var queue = q(); 但如果我这样做,Bluebird: var queue = new Promise(); 我明白了: TypeError:promise 构造函数需要解析器函数 如何获得与 Q 相同的结果? 这是我的代码片段: var queue = q()承诺 = [];queue = queue.then(函数(){返回
..
我正在研究 BreezeJs 并且有示例正在使用 Q.js 用于承诺处理异步调用.John Papa 也在使用 Q.JQuery 也有承诺.两者有什么区别? 解决方案 两者都基于 Promises/A 标准 并实现了一个 then 方法(虽然只是当前的 jQuery,他们曾经有一个不兼容的 pipe 而不是 then).但是,有一些区别: Q 有异常处理.所有在异步 then 回调中
..
我最近遇到了几次某种情况,我不知道如何正确解决.假设以下代码: somethingAsync().then(afterSomething).then(afterSomethingElse)函数 afterSomething(amazingData) {返回 processAsync(amazingData);}函数 afterSomethingElse(已处理数据){} 现在可能会出现一种情况
..
以下是一些基于我在 node 中运行的示例中注意到的行为的简单问题: Q('THING 1').then(console.log.bind(console));console.log('事情 2'); 这个输出是: >“事情2">“事情1" 问题: 1) 为什么 Q 在对立即已知的值运行回调之前实现等待?为什么 Q 不够智能以允许第一行在第二行运行之前同步发出其输出? 2) "
..
我将 Q 用于 Promise,但是在设置一些测试时,我发现我发现了捕获在返回 Promise 的函数中抛出的异步错误的方法. 我试图将它包装在一个 Q.when 并链接一个 fail 和或如下一个 Q.fcall 和一个链接的 失败,但我无法让它工作. var func = function(){var deferred = Q.defer();设置超时(功能(){throw new
..
我已经看到 在 Q 中链接任意数量的承诺;我的问题是不同的. 如何进行可变数量的调用,每个调用都按顺序异步返回? 该场景是一组 HTTP 请求,其数量和类型由第一个 HTTP 请求的结果决定. 我想简单地做到这一点. 我也看到了这个答案,它暗示了这样的事情: var q = require('q'),itemsToProcess = [“一",“二",“三",“四",“五"]
..
我正在研究 promises 模式并在 node.js 中使用 kriskowal 的 q, 有这个片段: var deferred = Q.defer();尝试 {messageData = JSON.parse(message);}赶上(e){global.logger.warn('解析 JSON 消息时出错.');deferred.reject(e);}...如果(some_reas
..
所以我有一个承诺,其中包含多个这样的检查 函数测试(){var deferred = q.defer()var 传递 = false如果(!通过){deferred.reject("不要继续")//返回} 别的 {如果(!通过){deferred.reject("不要继续")} 别的 {如果(!通过){deferred.reject("不要继续")} 别的 {设置超时(功能(){console.
..