有什么区别:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return "bbb";
})
.then(function(result) {
console.log(result);
});
Run Code Online (Sandbox Code Playgroud)
还有这个:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return Promise.resolve("bbb");
})
.then(function(result) {
console.log(result);
});
Run Code Online (Sandbox Code Playgroud)
我问我使用Angular和$ http服务与链接.then()有不同的行为.有点太多的代码因此首先是上面的例子.
我一直在阅读和阅读,但仍然对在整个NodeJs应用程序之间共享相同数据库(MongoDb)连接的最佳方式感到困惑.据我所知,应用程序启动时应该打开连接,并在模块之间重用.我目前对最佳方法的想法是server.js
(所有内容开始的主文件)连接到数据库并创建传递给模块的对象变量.连接后,模块代码将根据需要使用此变量,此连接将保持打开状态.例如:
var MongoClient = require('mongodb').MongoClient;
var mongo = {}; // this is passed to modules and code
MongoClient.connect("mongodb://localhost:27017/marankings", function(err, db) {
if (!err) {
console.log("We are connected");
// these tables will be passed to modules as part of mongo object
mongo.dbUsers = db.collection("users");
mongo.dbDisciplines = db.collection("disciplines");
console.log("aaa " + users.getAll()); // displays object and this can be used from inside modules
} else
console.log(err);
});
var users = new(require("./models/user"))(app, mongo);
console.log("bbb " + users.getAll()); // not connected at …
Run Code Online (Sandbox Code Playgroud) 为了更好地理解promises如何在Javascript中工作,我决定尝试自己编写代码基本实现.
基本上我想实现Promises Object(我在代码中称之为Aaa),它将函数作为参数.此函数可以调用resolve
对promise的解析,或拒绝reject
它.基本实现和用法如下.根据承诺规范,不确定第二个参数是否可接受,但这是我到目前为止所得到的.
Aaa=function(f,pause) {
console.log("ggg");
var t=this;
this.f=f;
this.thens=[];
this.resolve=function(g) {
for(var i=0;i<t.thens.length;i++)
{
// try/catch to be used later for dealing with exceptions
try
{
t.thens[i].f(g);
t.thens[i].resolve();
}
catch(ex)
{}
}
};
// to be implemented later
this.reject=function(g) {};
this.then=function(resolve,reject) {
// i'm passing true for pause argument as we dont need to execute promise code just yet
var nextPromise=new Aaa(resolve,true);
this.thens.push(nextPromise);
return nextPromise;
}
if(!pause)
this.f(this.resolve,this.reject);
}
var aaa=new Aaa(function(resolve,reject) {
console.log("aaa");
setTimeout(function() …
Run Code Online (Sandbox Code Playgroud) 我正在使用JavaScript中的promises并试图宣传setTimeout函数:
function timeout(ms) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('timeout done');
}, ms);
});
}
var myPromise=timeout(3000);
myPromise.then(function(result) {
console.log(result); // timeout done
})
Run Code Online (Sandbox Code Playgroud)
相当简单,但我想知道如何在诺言结算之前取消我的超时.timeout
返回Promise
对象因此我松开了对setTimeout
返回值的访问权限,并且无法通过取消超时clearTimeout
.最好的方法是什么?
顺便说一句,这没有真正的目的,我只是想知道如何处理这个问题.我也把它放在这里http://plnkr.co/edit/NXFjs1dXWVFNEOeCV1BA?p=preview
众所周知,不应该在AngularJS控制器中执行DOM操作,但是很难找到为什么它确实是一件坏事.所有消息来源都说它难以测试,因为控制器应该用于指令之间的通信,但是没有用代码说明为什么这是一件坏事.
根据我的理解,我认为控制器与指令不同,不与任何特定的HTML相关联,因此控制器所做的所有DOM修改都很可能会失败.这肯定会使开发和测试变得复杂.
在子指令的链接函数之前执行的指令中的控制器也将失败,因为控制器可能不知道子指令的实际HTML是什么.链接在控制器功能之后执行,可能会修改HTML结构.
我希望我在这里有意义,如果有人能澄清为什么从控制器操纵DOM是一件坏事,也许一些代码示例或链接可以很好地解释它.
我正在使用MongoDB和NodeJS,我想知道在插入/更新数据库文档之前是否需要清理数据.很难找到明确的答案,我想知道是否有任何Node模块可以很好地完成它,或者我需要去掉所有出现在字符串中的$或者根本不需要担心这个问题.我知道PHP有漏洞,但我使用的是Node/Mongo(本机驱动程序)组合,但仍不确定是否需要对用户输入进行任何清理.
我正在努力学习并完全理解mvc模式并同时学习php.我决定构建基本的mvc框架,我可以在以后的各个项目中使用它.在这里阅读了很多关于mvc和模型/视图/控制器之间的耦合的帖子我有点迷失.目前我的理解是在Web应用程序控制器中处理来自浏览器的即将发出的请求,并且如果需要,调用方法模型类告诉模型改变其状态.然后控制器实例化将负责显示接口的适当视图类.这是我不明白的一点......
现在应该让控制器传递适当的模型对象来查看和查看应该在需要时从模型中提取所有数据吗?
或者控制器应该从模型中获取数据并将其传递给视图,可能将它全部包装到单个包装器对象中,视图将从那里访问并从中获取数据?
或者视图应该在需要时简单地实例化适当的模型并直接从模型对象中提取数据?
从我在这里读到的
http://www.phpwact.org/pattern/model_view_controller
我倾向于第三个选项,其中控制器不传递任何东西来查看和查看它需要的实例化模型.这是因为:
视图和控制器应具有相同的模型访问权限
控制器不应仅仅作为视图和模型之间的中介.
真的有一种正确的方法可以做到这一点,还是取决于项目?对于对OOP有深刻理解但对php相对较新且对mvc架构不太清楚的人,你会推荐什么方法.或者也许我应该选择对我来说似乎正确的东西并从我的错误中吸取教训(尽管我想避免这个错误;)?
现在,请让我知道,如果我的问题不明确将尝试更好地解释然后..我也读了很多关于stackoverflow的帖子和不同网站上的大量文章,但仍然会感谢帮助,所以提前感谢所有的答案.
任何人都可以非常了解空调控制器之类的元素,以及如何在汽车中设置温度的部件,带led显示屏等现在可编程?因此,假设我们有一个带有按钮的塑料面板,LED显示屏,什么不是,当我按下"+"时,我想要增加温度或者采取一些机械部件来采取行动.
我猜测有ROM和一些CPU芯片,其中存储了控制部件的软件.现在这个软件通常用Java或低级C(++?)编写,甚至更低?
是否有任何常用的库用于此类事情?或者芯片预编程了这些以及可能是一些基本的操作系统?
该芯片是如何用软件编程的?有什么样的ROM写入设备是对的吗?
这是什么东西可以通过我的笔记本电脑在家里玩,如果是这样,除了笔记本电脑我还需要什么设备?
有人能够指出我可以阅读更多内容的资源吗?我试图大致了解它是如何工作的,它是如何涉及的以及需要什么技能来使这个工作.我理解这是一个很大的话题,但是想知道如何做到这一点,即使我自己也不能做这样的事情,我想了解这个过程以及涉及到什么
再次,如果问题和我的解释令人困惑,我道歉.我发现很难解释
我必须将我的HTML表单中的数据以xml格式发布到服务器,例如:
<some_parameters>
<firstname>Homer</firstname>
<lastname>Simpson</lastname>
<street>74 Evergreen Tr.</street>
</some_parameters>
Run Code Online (Sandbox Code Playgroud)
我所知道的是它涉及在不同域上运行的CRM应用程序之一.现在我不确定最好的方法是什么.
我想在用户提交表单时只是在表单中包装字段的值.因此,如果用户在"firstname"字段中键入"Homer"并单击"提交",我的JS会将字段的值更改为<firstname>Homer</firstname>
然后发布数据.
如果它有助于我在客户端使用jQuery.我认为必须有更好的方法,因为我的解决方案会破坏JS禁用并且看起来有点狡猾,所以如果你能指出我正确的方向,那将是非常棒的.
一整天都在谷歌搜索,阅读大量的PDF文件,并且仍然对从Westpac(澳大利亚的一家银行)向Payway系统发送数据的概念感到困惑.它们通过API提供访问权限,但也通过他们称之为"NET"的方式提供访问权限.
我理解的方式是,当客户想要在我的网站上付款时,如果是NET,客户端会进入页面(由银行托管或由我托管),其中提供表单以输入信用卡信息详细信息.然后,此表单通过正常的POST调用提交到Payway的特定https地址.然后处理它,浏览器返回到我指定的URL,作为我在隐藏字段中发送的参数之一.
如果API故事类似,那么用户收到表单,填写数据然后数据发送到我的后端(不是Payway).然后我的后端使用提供的数据调用payway API,一旦收到回复,就会向客户端返回确认页面.
我的理解是对的吗?请解释,因为我有一种感觉,我错过了一些基本的东西.
javascript ×5
promise ×3
angularjs ×2
mongodb ×2
node.js ×2
api ×1
bank ×1
cancellation ×1
credit-card ×1
electronics ×1
embedded ×1
express ×1
forms ×1
html ×1
jquery ×1
payment ×1
php ×1
q ×1
settimeout ×1
xml ×1