在Ember中,如何推迟准备就绪,并将AJAX结果放入控制器中?

2023-11-26

我知道 Ember.Application 现在有推迟准备状态这让我可以在初始化应用程序之前等待 AJAX 调用的返回。然而,在 api 文档的示例中,他们将值放入应用程序中的全局变量中:

App = Ember.Application.create();
App.deferReadiness();

jQuery.getJSON("/auth-token", function(token) {
  App.token = token;
  App.advanceReadiness();
});

我不想为令牌引入全局变量,而是想将返回值放入我的 ApplicationController 中。但是,我现在似乎无法找到如何获取控制器的句柄,即在 jQuery 回调中。


You can reopen你的控制器在$.getJSON回调以设置响应值token财产。假设你有一个端点~/auth-token返回具有单个属性的 JSONkey,你可以这样做:

window.App = Ember.Application.create();

App.ApplicationController = Em.Controller.extend({
    token: ''
});

App.deferReadiness();

$.getJSON("/auth-token", function(token) {
    console.log(token.key);
    App.ApplicationController.reopen({
        token: token.key
    });
    App.advanceReadiness();
});

(see fiddle)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Ember中,如何推迟准备就绪,并将AJAX结果放入控制器中? 的相关文章

  • 如何使用 ember.js 进行类似过滤

    我在 ember pre 1 0 中有一个简单的 ArrayController 发现如果过滤器找到给定属性的完全匹配 我可以削减列表 但我似乎找不到的是如何使用过滤器进行 like 查询 如果我搜索包含用户的数组 下面的内容将起作用 fi
  • 在 Map() 的条目上使用 Promise.all

    我正在使用 Map 来表示一些键 值对 let myMap new Map myMap set foo bar myMap set foo2 bar42 对于每个 Map 条目 我执行一个返回 Promise 的函数 所有这些 Promis
  • 在 Promise 中中止 ajax 请求

    我正在构建一个表单验证并学习承诺 我决定使用承诺模式实现异步验证函数 var validateAjax function value return new Promise function resolve reject ajax data
  • 如何沿着 Parse Promise 链传递额外数据[重复]

    这个问题在这里已经有答案了 在我的 Parse Cloude 代码中 我需要运行几个连续的查询 每个查询都使用 find Example var promise firstQuery get objectId then function r
  • Ember 集成测试在访问路线后挂起

    我正在尝试做一个简单的集成测试 我从 ember cli 网站上的集成示例开始 现在 当我在浏览器 localhost 4200 tests 中测试时 以下情况会路由到我期望的位置 但随后它只是挂起并且永远不会成功或失败 import Em
  • JavaScript 承诺混乱

    我正在尝试理解 javascript Promise 的概念 但我遇到了一些问题 我在本地设置了一个非常小的Web服务 不要生气 该Web服务不符合约定 这里有一些关于它的细节 login
  • Javascript 异步函数的“await”的正确心理模型:生成器的“yield”与“promise.then()”?

    生成器的 Yield 与 Promise then 哪个是理解 等待 的更正确的心理模型 属性比较 通过使用调试器单步执行下面的代码片段来推断 await wait 不会暂停 暂停正在运行的异步函数的执行 正在运行的异步函数 运行到完成 当
  • for 循环内的 Promise

    我正在为此苦苦挣扎 点击按钮获取一组数据 检查返回的行数是否符合我的预期 我需要运行 10 次 每次我期望不同的行数 下面的代码片段不起作用 因为 i 不是我所期望的 我怎样才能做到这一点 for var i 0 i lt subEleme
  • Angularjs $http 等待响应

    我是 javascript angularjs 的新手 我想在某些元素上完成鼠标悬停时显示引导弹出窗口 我为此创建了一个指令 function angular app app directive popOver window http fu
  • 在 for 循环内顺序执行 Promise

    我正在努力将两个承诺链接到一个循环中 以便第二个承诺在第一个承诺得到解决之前不会启动 我看到了一个减少的例子 还无法让它工作 如果我这样做 就像我现在所做的那样 代码会并行执行 就像这样 所有异步请求都会被触发 当然结果会很混乱 请看一下
  • 如何使用 Ember CLI 在两个组件之间共享模板?

    我有两个组件 SpecialButtonComponent and SpecialButtonDerivativeComponent The SpecialButton组件自动使用位于以下位置的模板 app templates compon
  • 重写 buildURL 方法以包含父模型的 id

    关于 ember data 和子类化 DS RESTAdapter 来覆盖buildURL 我有两个端点 可以说他们是 example com users user id example com users user id images 将
  • Ember - 如何在嵌套数据对象上使用pushObject?

    由于这篇文章 我已经可以将新对象推入 jobs 和 jobProducts 数组中如何在 Ember js 中创建嵌套模型 https stackoverflow com questions 9186214 how to create ne
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • 每次转换时都会调用 Ember.js 路由钩子

    Ember js 中是否有一个在每次转换时都会调用的路由钩子 即使新路由与旧路由相同 例如 单击同一路由的顶级导航链接 I tried activate 但它只被调用一次 当我使用顶级导航转到我已经所在的同一路线时 不会再次调用它 示例 j
  • Typescript Promise 拒绝类型

    如何设置拒绝承诺的类型 假设我这样做 const start Promise
  • 如何使用promise来避免回调地狱? [复制]

    这个问题在这里已经有答案了 所以我有一个帖子集合 id String comments String id of Comments links String id of Links 评论 id 字符串 评论 字符串 链接 id 字符串 链接
  • jQuery 承诺是否符合 Promises/A+

    我读过了本文 http thewayofcode wordpress com 2013 01 22 javascript promises and why jquery implementation is broken 这是基于著名的多梅尼
  • 您在需要流的地方提供了无效的对象。您可以提供 Observable、Promise、Array 或 Iterable

    假设我有以下函数引用 const externalRequests params gt Rx Observable zip externalApi1 params externalApi2 params and const internal
  • Ember.js 中按钮的绑定启用状态

    我刚刚开始接触 Ember js 但我遇到了一些我确信我不理解的东西 我有一个选定的对象控制器 它有一个 Ember Object 内容 即当前选择的模型 该模型有一个属性 isDirty 基本上我希望仅当对象脏且需要保存时才启用表单上的保

随机推荐