我有一个Javascript项目,我在cloud9 IDE在线工作,我想使用testem npm模块测试我的代码:npmjs.org/package/testem以及像Mocha或Jasmine这样的库.
我正在关注net tuts +的本教程
我已经安装了testem npm模块,但是当我在cloud9的终端窗口中使用命令" testem " 运行它时,testem要求我在" localhost:7357 "中打开一个新选项卡
通常要在cloud9中预览工作区文件,我会去 https://c9.io/username/folders.../workspace/folders.../index.html
由于我在cloud9服务器上,我想知道是否可以从浏览器打开这个" localhost "链接,如果是,我该怎么做?
(我在cloud9的IDE中尝试了' localhost ',' 127.0.0.1 ',' 0.0.0.0 ' ,但它没有用).
也许我可以以不同方式访问它?
比如"username.cl9.io/workspace:PORT"?
如果没有,也许有可能提供一个链接和端口到testem(并且任何机会如何做到这一点?).我知道在cloud9中你可以使用process.env.IP和process.env.PORT提供给不同的模块,但是不知道如何稍后从浏览器打开这些文件.
任何帮助将不胜感激.
我正在研究一个简单的应用程序,它会进行顺序的ajax调用,将第一次调用的结果传递给下一个调用.
当然我不想进入回调地狱,因此请查看Promises/A +规范示例和Q库.
我准备了一个异步函数,它应该导致我想要的东西.但我想要了解如何简化顺序承诺传递.
现在我仍然在阅读如何最好地使用promises和deferred对象,所以请原谅我非常天真的代码.
所以现在我看两件事:
建议
var modifyableObject = {
toProcess : ["one", "two", "three", "four", "five"]
}
function returnsDeferredResults(someResult) {
var deferred = Q.defer();
// my async function (setTimeout for now will do, $.ajax() later)
setTimeout(function () {
var nextResult = (someResult || " Initial_Blank_Value ") + "..." + modifyableObject.toProcess[0];
modifyableObject.toProcess = modifyableObject.toProcess.splice(1);
console.log("New Tick Result: ", nextResult, "Array: ", modifyableObject.toProcess);
deferred.resolve( nextResult);
}, 200);
return deferred.promise;
}
//$("#test_promise").click(function () {
function getDeferredResult(prevResult) …Run Code Online (Sandbox Code Playgroud)