Tag: 承诺

我怎样才能返回承诺的状态?

我开始学习使用loopback和jsforce的承诺,并不能解决这个问题。 我不能返回状态var内的承诺cb()函数。 基本上我想连接salesforce并通过JSforce获取数据,并通过回送将其写入数据库。 然后想要远程调用返回创build/更新/错误logging到客户端。 我正在通过使用Node.JS&Express.js Loopback开发我正在使用JSforce库连接salesforce 我该如何解决这个问题? 这是我的代码: module.exports = function(Contact) { var jsforce = require('jsforce'); var async = require("async"); var lr = require('lr.js'); Contact.ImportContacts = function(cb) { // Salesforce Projects List var sf_projects = []; //Salesforce Conn String var conn = lr.SalesforceConn(); conn.apex.get("/Contact/", function(err, res) { var status = { "Created": [], "Updated": [], […]

使用promise设置一个variables来获得callback函数的返回值

我正在获取“对象”值而不是确切的值。 如何获得使用callback函数返回的值? function loadDB(option, callBack){ var dfd = new jQuery.Deferred(), db = window.openDatabase('mydb', '1.0', 'Test DB', 1024*1024), selectQuery = "SELECT log FROM LOGS WHERE id = ?"; db.transaction(function(tx){ tx.executeSql(selectQuery,[option],function(tx,results){ var retval; if( results.rows.length ) { retval = unescape(results.rows.item(0)['log']); } var returnValue = dfd.resolve(retval); }); }); return dfd.promise(); } results = loadDB(2).then(function(val){ return val; } ); […]

事件循环上下文中的微任务和macros任务之间的区别

我刚读完Promises / A +规范,偶然发现了microtask和macrotask这两个术语:参见http://promisesaplus.com/#notes 我从来没有听说过这些条款,现在我很好奇它们有什么不同? 我已经试图在网上find一些信息,但是我发现的这个post是从w3.org档案(这不能解释我的不同之处): http : //lists.w3.org/Archives /Public/public-nextweb/2013Jul/0018.html 另外,我发现了一个名为“macrotask”的npm模块: https : //www.npmjs.org/package/macrotask再一次,没有澄清究竟是什么区别。 我所知道的是,它与事件循环有关,如https://html.spec.whatwg.org/multipage/webappapis.html#task-queue和https://html.spec.whatwg中所述.ORG /多页/ webappapis.html#执行-A-microtask检查点 根据WHATWG规范,我知道理论上我应该能够自己提取差异。 但我相信其他人也可以从专家的简短解释中获益。

为什么现在我的未来价值不可用?

我的ajax调用不返回任何东西! 这是我的代码: var answer; $.getJSON('/foo.json') . done(function(response) { answer = response.data; }); console.log(answer); 即使networking调用成功,我可以看到响应包含数据,控制台日志“未定义”! 发生什么事?

如何取消EMCAScript6(香草JavaScript)承诺链

有没有清除JavaScript Promise实例的.then的方法? 我在QUnit之上编写了一个JavaScripttesting框架。 该框架通过在Promise运行每个testing来同步运行testing。 (对不起,这个代码块的长度,我尽我所能评论,所以感觉不那么乏味) /* Promise extension — used for easily making an async step with a timeout without the Promise knowing anything about the function it's waiting on */ $$.extend(Promise, { asyncTimeout: function (timeToLive, errorMessage) { var error = new Error(errorMessage || "Operation timed out."); var res, // resolve() rej, // reject() t, […]

Angularjs $ q.all

我在angularjs中实现了$ q.all,但是我不能让代码工作。 这是我的代码: UploadService.uploadQuestion = function(questions){ var promises = []; for(var i = 0 ; i < questions.length ; i++){ var deffered = $q.defer(); var question = questions[i]; $http({ url : 'upload/question', method: 'POST', data : question }). success(function(data){ deffered.resolve(data); }). error(function(error){ deffered.reject(); }); promises.push(deffered.promise); } return $q.all(promises); } 这里是我的控制器,它叫服务: uploadService.uploadQuestion(questions).then(function(datas){ //the datas can not […]

什么是JavaScript的承诺正确的术语

我正在混淆不同的术语。 从我的理解,一个承诺可以是: fulfilled rejected pending settled resolved defer 解决意味着解决? 还是这意味着它的履行? 什么是延迟?

关于承诺/ A +规范,术语“可接受”和“承诺”之间有什么区别?

我正在检查“Promises / A +”规范,但无法理解以下内容: 关于第1部分术语, 1.1。 "promise”是一个对象或函数,其行为符合此规范的then方法。 1.2。 “thenable”是定义then方法的对象或函数。 那么术语"thenable"和"promise"之间有什么区别? 也在2.3节。 承诺解决程序, 承诺解决程序是一个抽象的操作,将input的承诺和价值作为input,我们表示为[[Resolve]](promise, x) 。 所以我的问题是: 为什么在2个左右括号内表示? 有什么约定吗? 非常感谢你。

在AngularJS服务中caching承诺对象

我想要使​​用Promises在AngularJS中实现一个静态资源的dynamic加载。 问题:我有几个组件可能(或不是,取决于哪些显示,因此dynamic)需要从服务器获取静态资源。 一旦加载,它可以被caching整个应用程序的生活。 我已经实现了这个机制,但是我对Angular和Promises是新的,我想确定这是否是一个正确的解决scheme。 var data = null; var deferredLoadData = null; function loadDataPromise() { if (deferredLoadData !== null) return deferredLoadData.promise; deferredLoadData = $q.defer(); $http.get("data.json").then(function (res) { data = res.data; return deferredLoadData.resolve(); }, function (res) { return deferredLoadData.reject(); }); return deferredLoadData.promise; } 所以,只有一个请求被创build,接下来所有对loadDataPromise()的调用都会返回第一个作出的承诺。 好像在进行中的要求或者前一个已经完成的要求。 但是cachingPromise是一个好的解决scheme吗?

了解node.js中的承诺

从我所了解的有三种方法调用asynchronous代码: 事件:例如。 request.on("event", callback); callback:例如。 fs.open(path, flags, mode, callback); 承诺 我发现一个承诺库https://github.com/kriszyp/node-promise,但我不明白。 有人可以解释什么是承诺,为什么我应该使用它? 另外,为什么从Node.js中删除?