q

    6熱度

    2回答

    舉個例子: if(foo) { async_call(); // returns a Q promise object } // do this immediately if foo was false // or after the promise is resolved if foo was true 這甚至可能嗎? 我可以看到的替代方法是總是調用異步函數,拋出'foo'檢

    10熱度

    2回答

    所以我在Node.js中創建了這個簡單的測試服務器 每當我做一個直接的響應,我得到請求/秒(快!)。 當我只包裝簡單的Q時,它會降低到請求/秒(慢4倍!)。有人可以解釋這種巨大的差異嗎? // Requires var server = require('http'); var q = require('q'); // Start server var http = require('h

    4熱度

    2回答

    流行的JavaScript模塊Q實現了延期/承諾/期貨概念。我認爲它主要與node.js一起使用,但它也支持瀏覽器。我在node.js中使用它。 要做到連續通話要鏈接使用then()一個承諾,在未來,但在一個循環中它可以如此有悖常理比我發現很難做到與此相同的僞代碼: forever { l = getline(); if (l === undefined) { b

    6熱度

    1回答

    我正在從貓鼬/ q承諾框架示例here,但似乎有一些問題與nfbind時,試圖使用findOne,主要是因爲從Q框架樣本似乎不匹配要點。 我的代碼: var mongoose = require('mongoose'); var Q = require('q'); var user_schema = mongoose.Schema({username:String, last_touched

    0熱度

    2回答

    我使用javascript上傳多個文件。 上傳文件後,我需要運行幾個處理函數。 由於需要處理時間,因此我需要在前面有一個UI,告訴用戶整個過程剩下的估計時間。 基本上我有3個功能: /上傳 - 這是上傳文件的端點 /生成/元數據 - 這是下一個端點後應觸發/上傳 /進程 - 這是最後一個端點。在/ generate/metadata後應該被觸發 這就是我期望屏幕基本看起來像的樣子。應顯示 如剩餘百

    2熱度

    1回答

    我一直在使用節點幾個月。對於異步代碼中的錯誤處理,我一直在關注我知道的best practice,它是通過回調錯誤參數來處理錯誤,並讓大多數異常冒出來並使應用程序崩潰,因爲沒有真正的乾淨地恢復的方式。 我正在與一個開發人員合作使用Q,他正在使用Q.nfbind調用一些基於回調的函數。但是,這給我頭痛的錯誤處理。例如,假設我有一個可以用一個錯誤回調函數: function doSomething(x

    1熱度

    1回答

    我試圖縮小與我的node.js服務器有關的內存問題的潛在原因。我一直感到有點不舒服的一部分代碼是我使用Q的承諾。 這裏是我的基本結構是什麼樣子: var Q = require('q'); MyClass.prototype.doSomething = function(somedata, callback) { var res = [];// will contain the res

    0熱度

    1回答

    我正在使用Q.js作爲承諾。 我想知道當Q-promise失敗時是否可以快速格式化/更改錯誤消息。 考慮人爲的例子: return Q.when(//$.ajaxpromise for instance).then(function(result){ //handle result }).fail(function(err){ //someh

    6熱度

    3回答

    我想我誤解Q承諾是如何工作的。我希望我的第一個承諾能夠在下一個開始之前得到解決,但那不會發生。這裏是我的代碼: var Q = require('q'); function doWork(taskName) { var deferred = Q.defer(); console.log('starting', taskName); setTimeout(funct

    0熱度

    2回答

    當查詢執行失敗時(例如保存時數據庫約束違規),我可以在控制檯中看到。 應該是空:[] 這裏的例子(你可以看到應該是空:[]在控制檯)): breeze.EntityQuery .from("EntityThatDoesnotExist") .using(new breeze.EntityManager("http://todo.breezejs.com/api/todos"))