Hit*_*sro 1 polymer lit-element lit-html
我试图使用异步方法构建几个组件,lit-element该方法将用于来自fetchAPI 的相同数据。
实用方法:
async resolveData() {
let response = await fetch('./emp-data.json');
let empData = await response.json();
let employees = null;
employees = empData.employees;
return employees;
}
Run Code Online (Sandbox Code Playgroud)
问题:我如何才能真正将该实用方法与组件分离并重新使用它。有没有最好的方法来解决这个问题lit-element?
您可以创建单独的服务以便跨域提供特定服务。具体方法如下:
步骤一:创建服务文件services.js
export const litServices = (() => {
const services = {}
services.apiService1 = async () => {
const response = await fetch('./emp-data.json').catch(err => {
return {
data: {
isError: true
}
}
})
return response.data;
}
return services;
})();Run Code Online (Sandbox Code Playgroud)
第 2 步:将服务导入到您的组件中并在需要时调用
import {
html,
LitElement
} from 'litElements'
import {
litServices
} from 'services'
class comp extends LitElement {
static get properties() {
return {
}
}
constructor() {
super();
}
connectedCallback() {
super.connectedCallback();
this.receivedData = this._resolveData();
this._formatResponse(this.receivedData)
}
async _resolveData() {
const response = await litServices.apiService1();
return response;
}
_formatResponse(receivedData) {
console.log('First API response is: ', firstApiResponse);
}
}Run Code Online (Sandbox Code Playgroud)
这将在需要时调用该服务。该服务可以在如何在 litElement 中创建服务中重用 - sabarinath 博客
| 归档时间: |
|
| 查看次数: |
547 次 |
| 最近记录: |