在浏览器中运行javascript程序时遇到了一个神秘的错误。我没想到这是可能的。
1.这是执行被中断时的Firefox控制台消息。触发代码行如下所示:
TypeError: saveOrderFunc(...) is undefinedmish-project-9e3368b0606d05c921e4bcce069c6187.js:6233:24 (<***)
doFindText http://localhost:3000/assets/mish-project-9e3368b0606d05c921e4bcce069c6187.js:6233
invoke http://localhost:3000/assets/vendor-2ec1510f3a7e6a9956d317f82db731b5.js:66502
flush http://localhost:3000/assets/vendor-2ec1510f3a7e6a9956d317f82db731b5.js:66392
flush http://localhost:3000/assets/vendor-2ec1510f3a7e6a9956d317f82db731b5.js:66601
_end http://localhost:3000/assets/vendor-2ec1510f3a7e6a9956d317f82db731b5.js:67177
end http://localhost:3000/assets/vendor-2ec1510f3a7e6a9956d317f82db731b5.js:66863
_runExpiredTimers http://localhost:3000/assets/vendor-2ec1510f3a7e6a9956d317f82db731b5.js:67314
_runExpiredTimers self-hosted:874
1.以下是Firefox代码调试列表中显示的程序代码,其中指示了执行中断时的触发代码行:
...
var saveOrderFunc = function saveOrderFunc(namelist) {
return new Ember.RSVP.Promise(function (resolve, reject) {
(0, _jquery.default)("#sortOrder").text(namelist);
var IMDB_DIR = (0, _jquery.default)('#imdbDir').text();
var xhr = new XMLHttpRequest();
xhr.open('POST', 'saveorder/' + IMDB_DIR);
xhr.onload = function () {
if (this.status >= 200 && this.status < 300) {
userLog("SAVE");
resolve(true);
} else {
userLog("SAVE error");
reject({
status: this.status,
statusText: xhr.statusText
});
}
};
xhr.send(namelist);
}).catch(function (error) {
console.error(error.message);
});
};
Ember.run.later(function () {
saveOrderFunc(nameOrder.trim()).then(function () { // (<***)
if (n && n <= 100 && loginStatus === "guest") {
Ember.run.later(function () {
(0, _jquery.default)("div[aria-describedby='dialog'] button#yesBut").click();
}, 20);
}
});
}, 400);
...
这可能是一个灰烬系统的错误,或什么事?
$ ember -v ember-客户端:3.11.0节点:8.17.0操作系统:Linux x64
为什么Ember这么老?必须先升级节点。为什么节点这么老?几个依赖包还在滞后;将下一次升级推迟了几个月。
1条答案
按热度按时间zbq4xfa01#
已解决:
saveOrderFunc并没有一直履行回报承诺,因此一切都解释为我的疏忽。
谢谢,将提高我的注意力至于承诺!