gpt4 book ai didi

JavaScript 控制流与多个 REST API?

转载 作者:行者123 更新时间:2023-12-01 01:24:17 25 4
gpt4 key购买 nike

我正在编写 SharePoint 代码来创建新文件夹并在其中上传多个文件。在伪 C 代码中,它看起来像这样。

String  folderName = giveNiceFolderNameBasedOnSomeBusinessLogic();

if(REST_checkfileExists(folderName) {
if(confirmDialog("File already exists. Do you want to delete old folder ?") == true) {
REST_deleteFile(folderName)
} else {
return; // Do not overwrite
}
}
if(REST_createFolder(folderName) == 0) {
REST_uploadFiles( folderName, fileListToUpload);
}

下面是我通过谷歌搜索收集的 JavaScript 成分。我确认每个函数都在我的环境中工作,但无法弄清楚如何在保持每个函数可重用的同时粘合它们。非常感谢专家的建议。

http://codejaw.com/yezime

例如,我可以在 REST_deleteFile() 函数中硬编码下一步以转到 REST_uploadFiles(),因为这是上述伪代码的唯一控制路径。

但是,一旦我对其进行硬编码,显然我就无法使用 REST_deleteFile() 函数用于其他目的。我希望有更好的方法来解决这个问题。

提前感谢您的帮助!

最佳答案

省略硬编码部分的最简单方法是将回调函数作为第二个参数传递。通过这种方式,您可以使该函数更具可重用性,并在请求成功时执行您想要的任何操作。

function REST_deleteFile(filePathName, onSuccess) {
var siteUrl = _spPageContextInfo.webAbsoluteUrl;
var webRelUrl = _spPageContextInfo.webServerRelativeUrl;
var fullUrl = siteUrl + "/_api/web/GetFileByServerRelativeUrl('" + webRelUrl + filePathName + "')";

$.ajax({
url: fullUrl,
type: "POST",
headers: {
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"X-HTTP-Method": "DELETE",
"IF-MATCH": "*"
},
success: onSuccess,
error:function() {
console.log("Fail to delete the file :" + filePathName );
}
});


REST_deleteFile('path/to/file', REST_createFolder(filePathName))

关于JavaScript 控制流与多个 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53955610/

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