- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚听说了 Promise,听起来……很有希望(好吧,我要离开了)。
我希望显示以下代码:
- 在initVariables
之前
- 在 initVariables
之前 - someName
- 在 initVariables
之前 - someName
- 在 initElements
但我得到的是:
- 在initVariables
之前
- 在initVariables
之前
- 在 initVariables
之前 - 在 initElements
有人能帮帮我吗? :-)
谢谢大家! :D
var url = "https://opendata.paris.fr/api/records/1.0/search/?dataset=stations-velib-disponibilites-en-temps-reel&rows=100&facet=banking&facet=bonus&facet=status&facet=contract_name"
var test = Object.create(MyTestClass);
console.log(test.testVariable);
let loadVariables = new Promise(function(resolve, reject) {
test.initVariables(url);
resolve(test);
console.log(test.testVariable);
});
loadVariables.then(function(test){
test.initElements();
});
console.log(test.testVariable);
并且 MyTestClass
定义为:
var MyTestClass = {
testVariable: "before initVariables",
initVariables: function(url) {
$.getJSON(url, function (result) {
this.testVariable += " - " + result.records[0].fields.name;
});
},
initElements: function() {
this.testVariable += " - after initElements";
}
}
最佳答案
Promise 立即运行。它们不会立即解析/拒绝的唯一方法是,如果您在它们内部执行某些操作(例如调用 $.getJSON
)并且仅根据来自的回调调用 resolve/reject
$.getJSON
.
function getJSONP(url) {
return new Promise(function(resolve, reject) {
$.getJSON(url, resolve);
}
}
或
function getJSONP(url) {
return new Promise(function(resolve, reject) {
$.getJSON(url, function(result) {
resolve(result);
});
}
}
这样就更清晰了
然后你就可以这样做
getJSONP(someURL).then(function(result) {
console.log(result);
});
关于javascript - promise 不等待解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43485496/
谁能解释为什么这些 JavaScript 数组不等式比较的计算结果为真? [""] !== [""] [1] !== [1] [] !== [] [""] != [""] [1] != [1] []
好的,所以我一直在努力学习掌握子进程并正确地等待它们完成。我已经阅读了很多 Stack Overflow Q/A,但我似乎仍然无法按照我的意愿让它工作。我一直在阅读/搜索这本书(C++ Primer
根据this , !==! 是不等于字符串运算符。尝试一下,我得到: C:\> if "asdf" !==! "fdas" echo asdf !==! was unexpected at this
这是一道面试题: Suppose: I have 100 trillion elements, each of them has size from 1 byte to 1 trillion byte
如何集成功能 f(y) w.r.t 时间;即 'y'是一个包含 3000 个值和值 time(t) 的数组从 1 到 3000 不等。所以,在整合 f(y) 后我需要 3000 个值. 积分将是不确定
我是一名优秀的程序员,十分优秀!