当tslint中的"no-floating-promises"为真时,可以通过以下方法忽略Jasmine承诺:
async
关键字,并使用await
关键字等待承诺的解决。这样可以确保承诺被正确处理,避免出现"no-floating-promises"错误。示例代码:
it('should test something', async () => {
await expectAsync(somePromise).toBeResolved();
});
.and.callThrough()
:在Jasmine的beforeEach
或beforeAll
函数中,将承诺的调用链添加到测试用例中。这样可以确保承诺被正确处理,避免出现"no-floating-promises"错误。示例代码:
beforeEach(() => {
jasmine.getEnv().defaultTimeoutInterval = 10000;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
jasmine.clock().install();
});
afterEach(() => {
jasmine.clock().uninstall();
});
it('should test something', () => {
const promise = somePromise.and.callThrough();
expect(promise).toBeResolved();
});
.and.returnValue()
:在Jasmine的beforeEach
或beforeAll
函数中,将承诺的返回值添加到测试用例中。这样可以确保承诺被正确处理,避免出现"no-floating-promises"错误。示例代码:
beforeEach(() => {
jasmine.getEnv().defaultTimeoutInterval = 10000;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
jasmine.clock().install();
});
afterEach(() => {
jasmine.clock().uninstall();
});
it('should test something', () => {
const promise = somePromise.and.returnValue(Promise.resolve());
expect(promise).toBeResolved();
});
这些方法可以帮助我们正确处理Jasmine中的承诺,避免出现"no-floating-promises"错误。在腾讯云的产品中,可以使用云函数(SCF)来进行服务器端的计算和处理,云数据库(TencentDB)来存储和管理数据,云存储(COS)来存储和管理文件等。这些产品可以帮助开发者在云计算环境中快速构建和部署应用程序。
领取专属 10元无门槛券
手把手带您无忧上云