【发布时间】:2020-03-01 09:26:48
【问题描述】:
我正在使用 TypeScript,我想对休息服务进行异步调用。
我想确保在继续之前完成其余的通话。
我已将这段代码“拼凑”在一起,但我不确定它是否正确或完成这项任务的最佳方式。
任何人都可以看看并提供反馈吗?我只是在删除一条记录,我想返回一个布尔值,指示调用是否成功。
提前致谢
async SubmitRESTRequest() {
var response: boolean;
await new Promise(next => {
try {
var promise = $.ajax({
url: 'https://mywebsite/deleteperson/1',
type: 'DELETE'
}).then(function (data) {
response = true;
}).done(function (data) {
next();
}).fail(function (data) {
response = false;
next();
});
}
catch (err) {
response = false;
next();
}
});
return response;
}
我通过以下代码调用代码
var wardResponse:Boolean = await SubmitRESTRequest();
【问题讨论】:
-
当你运行它时会发生什么——它有效吗?如果它不起作用,请描述什么不起作用。谢谢。
-
您的代码可以简化为:
var result = $.ajax({ url, type: 'delete' }).then(() => true).catch(() => false)。其中 90% 是多余的。
标签: typescript asynchronous promise