gpt4 book ai didi

javascript - 内容丰富的 Javascript SDK 和 NativeScript

转载 作者:太空宇宙 更新时间:2023-11-04 01:55:09 25 4
gpt4 key购买 nike

我正在努力让 JavaScript Contentful SDK 在我的 Nativescript 应用程序中工作。遗憾的是,我是 NativeScript 的新手,因此可能缺少一些基本的东西。希望有人能帮忙:)

该模块以通常的方式安装在我的 NativeScript 项目中:

npm install contentful

然后我制作一个简单的模块(基于我在 Github https://github.com/contentful-labs/product-catalogue-web.ts 找到的示例):

import {ContentfulClientApi, createClient} from 'contentful';

export class ContentfulService {
cdaClient: ContentfulClientApi;
constructor() {

this.cdaClient = createClient({
space: 'spaceId',
accessToken: 'token'
});
}
getContent() {
this.cdaClient.getContentTypes()
.then(function(response) {
console.log(response.items);
return response.items;
})
}
}

在 NativeSctipt View 模型中:

import { ContentfulService } from "../shared/cms";

let cms = new ContentfulService();
cms.getContent();

...但是什么也没发生。没有错误或调试输出,但是 native 脚本 View 模型根本不执行任何操作 - 代码不执行。如果我从构造函数中删除 createClient() 代码,然后将 console.log 放入 getContent() 中,那么当我从 View 模型调用 getContent() 时,console.log 将按预期工作

如果我在 NativeScript 之外尝试这个,例如使用 Contentful 仪表板中的样板 Node 项目,它按预期工作。

我想使用 SDK 的原因是我需要通过同步支持离线内容,而 SDK 似乎使这一切变得简单(如果我能让它工作的话!)。

感谢您的帮助

最佳答案

我对 NativeScript 没有具体的经验,但因为它只是在底层使用 TypeScript/JavaScript:

getContent 必须返回 Contentful 客户端返回的 Promise:

return this.cdaClient.getContentTypes()
.then(...)

这里可能发生的情况是,返回的 Promise 被拒绝,但由于它没有在其他地方使用,并且没有分配 catch block ,因此它会被默默地吞掉。

return this.cdaClient.getContentTypes()
.then(...)
.catch(function (error) {
console.error(error)
})

关于javascript - 内容丰富的 Javascript SDK 和 NativeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48250232/

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