我看过许多实现,它们看起来都如此不同,以至于我无法真正提炼出诺言的实质。
如果我不得不猜测,它只是在触发回调时运行的函数。
有人可以在不带链接的几行代码中实现最基本的承诺。
片段1
var a1 = getPromiseForAjaxResult(ressource1url);
a1.then(function(res) {
append(res);
return a2;
});
该函数如何传递才能then
知道何时运行。
也就是说,它如何传递回ajax完成时触发的回调代码。
片段2
// generic ajax call with configuration information and callback function
ajax(config_info, function() {
// ajax completed, callback is firing.
});
这两个摘要有什么关系?
猜测:
// how to implement this
(function () {
var publik = {};
_private;
publik.then = function(func){
_private = func;
};
publik.getPromise = function(func){
// ??
};
// ??
}())
有人可以在几行中实现最基本的承诺吗?
这里是:
function Promise(fn) {
// takes a function as an argument that gets the fullfiller
var callbacks = [], result;
fn(function fulfill() {
if (result) return;
result = arguments;
for (var c;c=callbacks.shift();)
c.apply(null, arguments);
});
this.addCallback = function(c) {
if (result)
c.apply(null, result)
else
callbacks.push(c);
}
}
Promise.prototype.then = function(fn) {
var that = this;
return new Promise(function(c){
that.addCallback(function() {
var result = fn.apply(null, arguments);
if (result instanceof Promise)
result.addCallback(c);
else
c(result);
});
});
};
这两个摘要有什么关系?
ajax
从getPromiseForAjaxResult
函数调用:
function getPromiseForAjaxResult(ressource) {
return new Promise(function(callback) {
ajax({url:ressource}, callback);
});
}
买支笔 示例输入 5d10 7 10d6*1d3 所以我试着跟着 但显然,这只适用于单输入,如5d7。我做错了什么
似乎具有与相同的明显含义,但它甚至不能在clang上编译。这有原因吗?
买支笔 示例输入 5d10 7 10d6*1d3 所以我试着跟着 但显然这只适用于单个输入,例如5d7。我到底做错了什么
英文原文:http://emberjs.com/guides/concepts/core-concepts/ 要开始学习Ember.js,首先要了解一些核心概念。 Ember.js的设计目标是能帮助广大开发者构建能与本地应用相颦美的大型Web应用。要实现这个目标需要新的工具和新的概念。我们花了很大的功夫从Cocoa、Smalltalk等本地应用框架引入了其优秀的理念。 然而,记住Web的特殊性非常
以下概念是理解 API 文档的预备知识。它们将在整个过程中被引用,详细说明请参阅本页面。 如果你是新手,就从 入门指南 开始。 Vinyl Vinyl 是描述文件的元数据对象。Vinyl 实例的主要属性是文件系统中文件核心的 path 和 contents 核心方面。Vinyl 对象可用于描述来自多个源的文件(本地文件系统或任何远程存储选项上)。 Vinyl 适配器 Vinyl 提供了一种描述文件
本页列出了Storm 的主要概念, 以及可以获取到更多信息的资源链接, 概念如下: Topologies(拓扑) Streams(流) Spouts Bolts Stream groupings(流分组) Reliability(可靠性) Tasks Workers Topologies(拓扑) 实时应用程序的逻辑被封装在 Storm topology(拓扑)中. Storm topology(拓