首页 文章
  • 0 votes
     answers
     views

    测试使用Jasmine和Sinon返回promise的AngularJS Controller方法

    我'm trying to test an Angular controller method that returns a promise. I stubbed out the promise-returning method (using a sinon stub), but when the promise is resolved (fulfilled), the registered su...
  • 1 votes
     answers
     views

    摩卡测试不会使用Sinon存根解决承诺

    我正在使用Mocha来测试一个在其中有异步方法的方法 . 我正在与Sinon存在这种依赖关系,并返回一个已解决的承诺 . 但承诺永远不会得到解决,或者至少在断言运行时它尚未解决 . 这是测试中的方法 function identify(traits) { //THIS GETS CALLED SUCCESSFULLY userService.get().then(function(user...
  • 5 votes
     answers
     views

    如何对一个调用另一个返回promise的函数进行单元测试?

    我有一个使用express 4的node.js应用程序,这是我的控制器: var service = require('./category.service'); module.exports = { findAll: (request, response) => { service.findAll().then((categories) => { respo...
  • 1 votes
     answers
     views

    跟踪使用Sinon / Mocha调用方法的次数

    我正在使用Mocha / Sinon编写测试,以确保我创建的 async tryAtMost 函数调用Promise并且只重试该承诺 X 次 . 我的 tryAtMost 函数看起来像: async tryAtMost(options, promise, maxRetries, retryInterval = 0) { return new Promise(async (resolve, ...
  • 10 votes
     answers
     views

    VueJS异步组件数据和承诺

    尝试使用VueJS 2.0 RC,并使用fetch API为某些组件加载一些数据 . 这是一个模拟的例子: const Component = { template: '#comp', name: "some-component", data: function () { return { basic: data.subset, re...
  • 8 votes
     answers
     views

    AngularJS:在服务中链接http承诺$ q

    当谈到angularjs中的$ http承诺时,我遇到了问题 . 我在我的服务中这样做:( getSomething函数应链接两个promises) 第二个函数使用外部回调函数! app.service('blubb', function($http, $q) { var self = this; this.getSomething = function(uri, data) { ...
  • 0 votes
     answers
     views

    链接承诺,或一个承诺触发另一个承诺

    我正在构建一个天气应用程序,我首先要获取用户位置,然后请求获取天气 . 所以我有 GeolocationService 和 WeatherService . 我的 WeatherService 目前正在调用 Geolocation 服务 . 在发出HTTP请求之前,如何让 WeatherService 等到 GeolocationService 的结果? app.factory('Geoloca...
  • 2 votes
     answers
     views

    如何使用$ q多次回调AngularJs中的承诺?

    我正在使用下面的代码来简化后端请求,但我没有 grab 如何调用成功方法或错误方法 . 如何达到代码中注释的预期行为? app.factory('REST', function ($http, $q, sweetAlert) { return { load: function (module, action, data) { var deferre...
  • 15 votes
     answers
     views

    Angular JS:链接承诺和摘要周期

    注意:小提琴使用旧版本的Angular,并且它不再起作用,因为从1.2开始,Angular模板引擎不会透明地处理promises . 我正在寻找链接承诺来填充我的范围,然后让范围自动更新dom . 我遇到了这方面的问题 . 如果我在已经解决的承诺上调用“then”,它会创建一个新的承诺(它将异步调用成功函数,但几乎立即调用) . 我认为问题是我们已经在调用成功函数时离开了摘要周期,所以dom永远不...
  • 1 votes
     answers
     views

    AngularJS:这是连锁承诺的正确方法吗?

    我有一个函数foo调用另一个函数moreFoo,我想在promises中包装函数调用,以便foo返回的promise在moreFoo解析后返回 . 这是我的解决方案: function foo() { var defer = $q.defer(); console.log('doing foo'); moreFoo().then(defer.resolve); return def...
  • 0 votes
     answers
     views

    为什么我的Promise Chain不能以这种嵌套方式工作?

    我想在Promise链中链接4个函数,如下所示: function1 - > function2 - > function3 - > function4 My Promise chain if ($location.$$url !== "/dashboard") { vm.customURL = true; // (1) Set root...
  • 1 votes
     answers
     views

    在angularjs承诺链

    我在SharePoint 2013中使用rest api上传附件,为此我需要在同步上调用上传附件方法 . 因为如果我调用上传附件方法异步我得到409冲突错误 . 如何在for循环中链接promise对象 . 我想在第一个附件成功中调用第二个附件方法,依此类推 . 请帮助我在for循环中链接promises的最佳方法 . 保存附件的常用方法: var saveFileAngularJS = func...
  • 14 votes
     answers
     views

    链接承诺与当然的承诺()

    你如何在这样的场景中链接? api是一个在http请求后返回promise的函数 . auth是一个函数,在api响应后返回一个promise,如果第二次调用api,如果不是auth拒绝的话 . 我尝试过这个,但不仅仅是我回到了回调地狱,它不起作用 . function api(query) { return new Promise(function(resolve, reject) { ...
  • 118 votes
     answers
     views

    你可以在返回之前解决angularjs的承诺吗?

    我正在尝试编写一个返回promise的函数 . 但有时候请求的信息是立即可用的 . 我想将它包装在一个承诺中,以便消费者不需要做出决定 . function getSomething(id) { if (Cache[id]) { var deferred = $q.defer(); deferred.resolve(Cache[id]); // <--...
  • 4 votes
     answers
     views

    为什么在JS中使用异常来拒绝承诺? [关闭]

    我所指的规范是在http://promises-aplus.github.io/promises-spec/ . 使用 then() 时,您可以返回一个承诺,并在需要时拒绝承诺,或者您可以抛出异常来拒绝承诺 . 为什么api不是以这样的方式设计的 then 函数,它传递一个像原始的promise构造函数一样的解析和拒绝函数? 许多语言中的异常都很繁重(我也假设在javascript中),所以看起来...
  • 7 votes
     answers
     views

    AngularJS:service的布尔方法是否应该返回为true / false或者被解析/拒绝的promise?

    承诺使用的模式仍然让我困惑 . 例如,在Angular应用程序中,我有一个带有方法 emailExists(email) 的服务 usersService . 显然,它会向服务器执行请求,以检查给定的电子邮件是否已存在 . 我很自然地让方法 emailExists(email) 返回在正常操作中解析为 true 或 false 的承诺 . 如果我们只有一些意外错误(例如,服务器返回 500: i...
  • 5 votes
     answers
     views

    AngularJS中的承诺顺序

    Question: 在AngularJS中是否有"easy"取消( $q - / $http - )承诺或确定承诺解决的顺序? Example 我有一个长时间运行的计算,我通过 $http 请求结果 . 某些操作或事件要求我在解决初始承诺之前重新开始计算(从而发送新的 $http 请求) . 因此,我想我不能使用像这样的简单实现 $http.post().then(...
  • 6 votes
     answers
     views

    如何在拒绝上链接承诺

    给定一个函数, fn ,它返回一个promise,以及一个任意长度的数据数组(例如 data = ['apple', 'orange', 'banana', ...] ),如何依次对数组的每个元素进行函数调用,这样如果_1215603解析,整个链完成并停止调用 fn ,但如果 fn(data[i]) 拒绝,下一次调用 fn(data[i + 1]) 会执行吗? 这是一个代码示例: // this ...
  • 1 votes
     answers
     views

    通过Promise Chain传递数据(angularjs)

    这个问题很难描述,所以让我发一个例子 . 上下文是AngularJS $q ,但也欢迎任何基于ES6 Promise 的解决方案 . 假设我们要取消 $http 请求 . 在AngularJS中,这是通过提供承诺A到 $http.get() 方法来实现的 . 解决承诺A将导致取消请求 . 所以代码看起来像这样: function httpCall() { const promiseA ...
  • 0 votes
     answers
     views

    在AngularJS中不使用拒绝来停止承诺链

    根据blog post,可以在解析器函数中返回 null 以跳过promise链中的后续 then 处理程序 . 我很好奇它是如何工作的 - Promises/A+ spec中的任何内容都没有定义我能看到的这种行为 . 对于我的用例,我调整了他们的示例来处理Angular UI Bootstrap中$uibModal模态对话服务的拒绝,该服务根据模态是关闭还是解除来解析或拒绝: $uibModa...
  • 173 votes
     answers
     views

    Angular HttpPromise:`success` /`error`方法和`then`参数之间的区别

    根据AngularJS doc,对 $http 的调用返回以下内容: 使用标准then方法和两个http特定方法返回promise对象:成功和错误 . then方法使用两个参数成功,并使用响应对象调用错误回调 . 成功和错误方法采用单个参数 - 在请求成功或失败时将分别调用的函数 . 传递给这些函数的参数是传递给then方法的响应对象的析构表示 . 除了在一种情况下 response 对象被...
  • 2 votes
     answers
     views

    AngularJS:承诺没有正确解决

    我的承诺有一种奇怪的行为 . 请参阅以下插件:http://plnkr.co/edit/uBuBS3Oi7mIPob2jtqkm 它基于Marc Galgleish(http://markdalgleish.com/2013/06/using-promises-in-angularjs-views/)的一篇非常好的文章 . 在我的控制器中,我有一个名为messages的简单$ scope属性(从服...
  • 3 votes
     answers
     views

    用离子/ ui路由解决承诺

    我有一些问题,弄清楚为什么我的承诺没有解决我期望的方式 . 我正在使用Ionic / ui-routing . 我的服务: return { all: function () { $localForage.getItem('foo').then(function (bar) { return bar; }); } }; 当我...
  • 6 votes
     answers
     views

    解决routeprovider中的多个promise

    所以我想执行2次http调用以从我的服务器获取一些组和问题,并在routeprovider中解决这两个问题,以便在获得相关数据之前不会加载相应的控制器 . 在我的其他控制器中,我总是使用initalData对象来保存数据 . 解决部分: resolve: { initialData: ["GroupsService" "Question...
  • 58 votes
     answers
     views

    从Vuex行动中回复承诺

    我最近开始将事物从jQ迁移到更结构化的框架VueJS,我喜欢它! 从概念上讲,Vuex对我来说已经是一个典型的转变,但我相信我现在知道它的全部内容,完全得到它!但是存在一些小的灰色区域,主要是从实施的角度来看 . 我觉得这个设计很好,但不知道它是否与单向数据流的Vuex相矛盾 . 基本上,从动作中返回一个promise(类似)对象被认为是一种好习惯吗?我将它们视为异步包装器,具有失败状态等,因此似...
  • 0 votes
     answers
     views

    如何测试返回promises的嵌套vuex操作?

    这是我的组件中的代码和我当前的测试: // component script import { mapActions } from 'vuex' export default { name: 'foo', mounted () { this.firstMethod() .then(() => { this.secondMethod() ...
  • 0 votes
     answers
     views

    如何在Angular2中拒绝承诺和处理/捕获错误

    我正在学习Angular2,并希望对服务中的方法进行适当的错误处理 . 出于测试目的,我更改了API,因此我得到了无效的测试结果 . 我想拒绝Promise ("Received unexcepted data.") 并将错误消息存储在我的angular-component中 . 我的服务方式: getBlocks(): Promise<Block[]> { ...
  • 0 votes
     answers
     views

    Javascript,用Promises拼接FileReader的大文件,怎么样?

    我正在尝试使用FileReader使用promises顺序读取多个文件 . 问题是我需要将读取操作分成几个块来使它们可行 . 通过这样做,我失去了Promise链 . 这是在下面的代码中发生的,我得到控制台日志 here ,然后是 catched (意思是我丢失了链),然后是 inside 然后是 finished . 不知何故,上传中的承诺不受尊重 . 这是代码(请转到上一次编辑,我保留原始文...
  • 0 votes
     answers
     views

    类型'Promise<Document>'不能分配给'Promise<Document>'类型

    我正在使用Promise来取消回调地狱 . 但我遇到了类型问题 . 这是我的方法或函数定义: findById(entityId: string): Promise&lt;mongoose.Document&gt; { return this._model.findById(entityId).exec(); } 打字稿提示一些错误: [ts]类型'承诺'不能分配给'承诺'类型 . ...
  • 0 votes
     answers
     views

    React Native - 从Promise获取数据

    在我的React Native应用程序中,我从API接收令牌 . 每当应用程序向服务器发送请求时,都需要此令牌 . 我将令牌保存在AsyncStorage中: export const onSignIn = (value) =&gt; AsyncStorage.setItem('USER_TOKEN', value); 在应用程序的许多不同部分,我需要这个令牌,因此我想使用一个函数,从令牌中提...

热门问题