使用打字稿在 sucess() over then() angularjs 上出现摘要错误
digest error on sucess() over then() angularjs with typescript
我在打字稿中创建了一个 angular js 服务到 post 一个文件,成功后我只是用 alert()
通知用户。
uploadFileToUrl = (file, uploadUrl) => {
var fd = new FormData();
fd.append('file', file);
this.$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
.success(() => {
alert("file uploaded");
})
.error(() => {
alert("some error occured.");
});
}
我可以调试代码并验证调用确实成功,但是当调用 returns 时,它显示成功,然后出现 摘要错误 但是如果我只是 return 服务的承诺和控制器使用 then()
,它工作正常。
uploadFileToUrl = (file, uploadUrl) => {
var fd = new FormData();
fd.append('file', file);
return this.$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
}
我想知道 success()
有什么问题,以及 then()
是否总是优于 success()
。
angular中的promise机制由$q
提供。
几周前,我看到 promise.success()
和 promise.error()
已弃用。两者都不再出现在文档中。
因此,我建议您避免使用 success()
和 error()
,而是使用 then(successFunction, errorFunction);
。
编辑
检查完源代码后,我可以向您保证 .success
和 .error
不再存在于最新的 angular 源代码中
https://github.com/angular/angular.js/blob/master/src/ng/q.js#L3
我在打字稿中创建了一个 angular js 服务到 post 一个文件,成功后我只是用 alert()
通知用户。
uploadFileToUrl = (file, uploadUrl) => {
var fd = new FormData();
fd.append('file', file);
this.$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
.success(() => {
alert("file uploaded");
})
.error(() => {
alert("some error occured.");
});
}
我可以调试代码并验证调用确实成功,但是当调用 returns 时,它显示成功,然后出现 摘要错误 但是如果我只是 return 服务的承诺和控制器使用 then()
,它工作正常。
uploadFileToUrl = (file, uploadUrl) => {
var fd = new FormData();
fd.append('file', file);
return this.$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
}
我想知道 success()
有什么问题,以及 then()
是否总是优于 success()
。
angular中的promise机制由$q
提供。
几周前,我看到 promise.success()
和 promise.error()
已弃用。两者都不再出现在文档中。
因此,我建议您避免使用 success()
和 error()
,而是使用 then(successFunction, errorFunction);
。
编辑
检查完源代码后,我可以向您保证 .success
和 .error
不再存在于最新的 angular 源代码中
https://github.com/angular/angular.js/blob/master/src/ng/q.js#L3