Azure devops 正确的VSS.register()返回语法
我对VST和开发自定义小部件相当陌生。我遵循了示例教程: 以下是index.html文件的JS代码:Azure devops 正确的VSS.register()返回语法,azure-devops,azure-devops-extensions,azure-devops-rest-api,Azure Devops,Azure Devops Extensions,Azure Devops Rest Api,我对VST和开发自定义小部件相当陌生。我遵循了示例教程: 以下是index.html文件的JS代码: <script type="text/javascript"> VSS.init({ explicitNotifyLoaded: true, usePlatformStyles: true }); VSS.require("TFS/Dashboards/WidgetHelpers
<script type="text/javascript">
VSS.init({
explicitNotifyLoaded: true,
usePlatformStyles: true
});
VSS.require("TFS/Dashboards/WidgetHelpers", function (WidgetHelpers) {
WidgetHelpers.IncludeWidgetStyles();
VSS.register("HelloWorldWidget", function () {
return {
load: function (widgetSettings) {
var $title = $('h2.title');
$title.text('Hello World');
return WidgetHelpers.WidgetStatusHelper.Success();
}
}
});
VSS.notifyLoadSucceeded();
});
</script>
如果有人能回答以下问题,那就太好了:
- WidgetHelpers.WidgetStatusHelper.Success()做什么
- VSS.notifyLoadSuccessed()做什么
- 我应该在何时何地使用它们
- 是否有关于VSS.Services提供的功能的文档?例如,当我需要“VSS/Authentication/Services”时,我怎么知道如何使用VSS_Auth_服务而不看一本教程呢?是否有适用于所有客户的API参考文档李>
WidgetHelpers.WidgetStatusHelper.Success()
用于告诉函数(widgetSettings)
已成功执行。你也可以参考博客
VSS.notifyLoadSuccessed()
用于显示所需的库已成功加载。如前所述:
通知主机扩展已成功加载(停止显示加载指示器)
我应该在何时何地使用它们
加载或重新加载某物结束时需要WidgetHelpers.WidgetStatusHelper.Success()
。并且在回调结束时需要使用VSS.notifyLoadSuccessed()
,以指示扩展已成功加载
是否有关于VSS.Services提供的功能的文档?
例如,当我需要“VSS/身份验证/服务”时,我该怎么办
应该知道如何使用VSS_Auth_服务,而不必查看它
一个教程?有API参考文档吗
客户呢
遗憾的是,除了和之外,没有其他此类文件供您提问:
WidgetHelpers.WidgetStatusHelper.Success()做什么
WidgetHelpers.WidgetStatusHelper.Success()
用于告诉函数(widgetSettings)
已成功执行。你也可以参考博客
VSS.notifyLoadSuccessed()
用于显示所需的库已成功加载。如前所述:
通知主机扩展已成功加载(停止显示加载指示器)
我应该在何时何地使用它们
加载或重新加载某物结束时需要WidgetHelpers.WidgetStatusHelper.Success()
。并且在回调结束时需要使用VSS.notifyLoadSuccessed()
,以指示扩展已成功加载
是否有关于VSS.Services提供的功能的文档?
例如,当我需要“VSS/身份验证/服务”时,我该怎么办
应该知道如何使用VSS_Auth_服务,而不必查看它
一个教程?有API参考文档吗
客户呢
不幸的是,没有这样的文件,除了./p>,问题是扩展可以正确地加载,但是在异步请求的中间。例如,在load函数中,我调用了一个激发一些ajax请求的函数。当请求返回时,函数已经返回了,因此我不知道何时返回WidgetHelpers.WidgetStatusHelper.Success(),何时执行VSS.notifyLoadSuccessed()语句。在VSTS示例中,他们编写了一个函数来返回.then()块中的WidgetHelpers.WidgetStatusHelper.Success(),而不是纯AJAX。在Ajax请求的成功块中返回吗?您可以共享您尝试的整个扩展吗?问题是扩展可以正确地加载,但在异步请求的中间。例如,在load函数中,我调用了一个激发一些ajax请求的函数。当请求返回时,函数已经返回了,因此我不知道何时返回WidgetHelpers.WidgetStatusHelper.Success(),何时执行VSS.notifyLoadSuccessed()语句。在VSTS示例中,他们编写了一个函数来返回.then()块中的WidgetHelpers.WidgetStatusHelper.Success(),而不是纯AJAX。我是否返回AJAX请求的success块?能否共享您尝试的整个扩展?
VSS.require(["TFS/Dashboards/WidgetHelpers", "VSS/Authentication/Services"], function (WidgetHelpers, VSS_Auth_Service) {
WidgetHelpers.IncludeWidgetStyles();
VSS.register("ajaxrequesttest", function () {
var makeRequest = function (widgetSettings) {
VSS.getAccessToken().then(function (token) {
// Format the auth header
var authHeader = VSS_Auth_Service.authTokenManager.getAuthorizationHeader(token);
var epicId = '#####';
var epicUrl = `https://myurl/${epicId}`;
//Make Ajax Request
$.ajax(epicUrl, {
headers: {
"Authorization": authHeader
},
timeout: 10000,
success: function (data, status, xhr) {
$('#myText').text("Success!");
var $list = $('<ul>');
$list.append($('<li>').text("Response: " + JSON.stringify(data)));
$('#myText').append($list);
},
error: function (xhr, status, error) {
$('#myText').text("Error!");
return WidgetHelpers.WidgetStatusHelper.Failure(error.message);
}
});
});
return WidgetHelpers.WidgetStatusHelper.Success();
}
return {
load: function (widgetSettings) {
var $title = $('h2.title');
$title.text('Ajax Request Test');
return makeRequest(widgetSettings);
}
}
});
VSS.notifyLoadSucceeded();
});
What does VSS.notifyLoadSucceeded() do?