gpt4 book ai didi

javascript - 将 require.js 与 rsvp 一起使用时未捕获的 ReferenceError : RSVP is not defined , 错误

转载 作者:行者123 更新时间:2023-11-29 21:49:02 25 4
gpt4 key购买 nike

我正在制作一个演示,展示使用 rsvp.js 的 promises 中的错误处理。一切似乎都很好,直到我在标签中使用 rsvp.js 的 CDN url。现在,因为我的应用程序中有用于模块加载的 require.js,所以我尝试通过 require js 语法加载 rsvp.js 模块。在 Chrome 网络选项卡中,我看到 rsvp.js 模块也已正确加载,但我在控制台中收到以下错误,

Uncaught ReferenceError: RSVP is not defined.

require(["bootstrap","js/rsvp"], function(bootstrap,rsvp) { 
$(document).ready(function () {
function getEmployeeDetails() {
var radioValue1 = $("input[name='option1']:checked").val();
var requrl;
if (radioValue1 == "fail") {
requrl = "../../../testservice/getEmployeeIdss";
} else {
requrl = "../../../testservice/getEmployeeId";
}
return new RSVP.Promise(function (resolve, reject) {
$.ajax({
url: requrl,
success: function (response) {
try {
$('#successBoard').append("<b> <i> Ajax Call 1 Succeeded! </i> </b><br/>" + "Employee ID:" + response.stuId + "<br/>");
resolve(response.stuId);
} catch (e) {
reject(e);
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log('Ajax 1 failed : Rejecting Promise 1');
$('#errorBoard').append("<b> <i> Ajax 1 failed : Rejecting Promise 1</i> </b><br/>");
reject(thrownError);
}
});

});
}

最佳答案

我看了一下 source code of RSVP并找到这段代码:

/* global define:true module:true window: true */
if (typeof define === 'function' && define['amd']) {
define(function() { return RSVP; });
} else if (typeof module !== 'undefined' && module['exports']) {
module['exports'] = RSVP;
} else if (typeof platform !== 'undefined') {
platform['RSVP'] = RSVP;
}

第一个 if 是 RSVP 检测到它在 AMD 环境中运行并注册为 AMD 模块的地方。所以你不会有全局 RSVP

现在,在您的代码中,您需要 RSVP 并将其绑定(bind)到 rsvp 变量,全部小写。所以它可以作为 rsvp 而不是 RSVP 访问。要么将其称为 rsvp,要么更改传递给 require 的函数中的变量名称,使其成为 RSVP:

require(["bootstrap", "js/rsvp"], function (bootstrap, RSVP) { 

请注意,没有必要引用 Bootstrap,因为它会将自己安装为 jQuery 插件,因此您可以:

require(["js/rsvp", "bootstrap"], function (RSVP) { 

关于javascript - 将 require.js 与 rsvp 一起使用时未捕获的 ReferenceError : RSVP is not defined , 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30095991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com