首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Angular 2中,如何在promise中调用类方法?

在Angular 2中,可以使用箭头函数(arrow function)来在promise中调用类方法。箭头函数可以绑定当前上下文,确保类方法中的this指向正确。

下面是一个示例代码:

代码语言:typescript
复制
class MyClass {
  myMethod() {
    return new Promise((resolve, reject) => {
      // 在promise中调用类方法
      this.anotherMethod().then(result => {
        resolve(result);
      }).catch(error => {
        reject(error);
      });
    });
  }

  anotherMethod() {
    return new Promise((resolve, reject) => {
      // 类方法的实现
      // 可以在这里进行异步操作
      resolve('成功');
    });
  }
}

在上面的示例中,myMethod是一个类方法,它返回一个promise。在promise的构造函数中,使用箭头函数来调用anotherMethod类方法。这样可以确保在anotherMethod中使用的this指向正确的对象。

这是一个简单的示例,实际应用中可能会涉及更复杂的异步操作和错误处理。根据具体需求,可以在promise中调用其他类方法或外部函数。

腾讯云提供了云计算相关的产品和服务,如云服务器、云数据库、云存储等。具体可以参考腾讯云的官方文档:腾讯云产品文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

关于使用MethodHandle子类调用祖父重写方法的探究

关于使用MethodHandle子类调用祖父重写方法的探究 注:这个例子原本出现在周志明先生的《深入理解Java虚拟机》--虚拟机字节码执行引擎章节,介于有读者朋友有疑问,这里基于Java代码层面解释一下...这里直接看Son的thinking方法(关于为何这样实现,《深入理解Java虚拟机》读书笔记(七)--虚拟机字节码执行引擎(下)也解释了)。...普通的方法调用,这个this参数是虚拟机自动处理的,表示的是当前实例对象,我们方法可以直接使用。...但是我们这个MethodHandle的例子,相当于是模拟了invoke*指令的处理,手动调用invoke方法就需要指定这个"this"参数。...基于这个事实,我们这时可以直接在GrandFather的thinking方法调用Son独有的方法,使用反射或者直接类型强制转换为Son就行了。

9.4K30

Python 子类调用方法详解(单继承、多层继承、多重继承)

测试环境: win7 64位 Python版本:Python 3.3.5 代码实践: 1、子类通过“名”调用方法 class FatherA: def __init__(self)...__init__(self) # 子类调用方法:父名.方法名称(参数) if __name__ == '__main__': b = SubClassB() 运行结果: >>> ==...(SubClassB的父由FatherA变为FatherD时),必须遍历整个定义,把子类中所有的父名全部替换过来 2、子类通过“super”方法调用方法 场景1、单层继承 class...__init__() # 子类调用方法:super().方法名称(参数) if __name__ == '__main__': b = SubClassB() class FatherA...以super().method(参数)方法调用方法,如果不同父存在同名方法method(不管参数列表是否相同),则按继承顺序,选择第一个父方法

3.1K30

C++反射调用.NET(一) 反射调用第一个.NET方法

为什么要在C++调用.NET 一般情况下,我们常常会在.NET程序调用C/C++的程序,使用P/Invoke方式进行调用,在编写代码代码的时候,首先要导入DLL文件,然后根据C/C++的头文件编写特殊的...注意,本文说的C++反射调用,不是对C++自身进行封装的反射功能,而是C++/CLI代码反射调用.NET代码,原理上跟你.NET应用反射调用另外一个.NET的程序集一个道理。...我们先在NetLib项目写一个简单的.NET ,这个方法内部没有复杂的业务逻辑代码,仅仅用来供反射调用测试: namespace NetLib { public class User...C++的成员用 -> 符号调用,命名空间或者的静态成员,用::调用,例如上面的构造函数的代码: Assembly^ ass = Assembly::LoadFrom(this->assemblyFile...C++/CLI中使用反射 反射调用第一个.NET方法 下面的方法,将会反射调用 User的一个最简单的方法 : public int GetUserID(string IdString){} 该方法只有一个一个参数和一个简单的返回值

3.2K100

没想到吧,PHP 的外部也可以调用私有方法

一般来说, Class 的外部是无法调用私有方法,这也是 Private 字面的意思,但是一些很特殊很特殊的情况下,如果需要调用,是否可以呢?其实可以使用的反射来实现。...reflection->getClosure($object); } return call_user_func_array($callback, $args); } 简单解释一下,首先还是简单判断该方法是否存在...,接着获取对象方法的放射,然后判断一下是不是公共的方法,如果是公共就正常调用,不是则获取其闭包,最后使用回调的方式来调用。...这个函数可以让你调用对象的私有或者受保护方法,建议一些特殊的情况下才使用。为了方便大家调用,新版的 WPJAM Basic 也会集成该函数。----

1K30

Angular的12个经典问题,看看你能答对几个?(文末附带Angular测试)

这是最常用的方法,用于从后端服务检索模板的数据。 ngDoCheck:检测并在Angular上下文发生变化时执行。每次更改检测运行时,会被调用。...简而言之,EventEmitter是@ angular/core模块定义的,由组件和指令使用,用来发出自定义事件。...这通常用在setter,当的值被更改完成时。 可以通过模块的任何一个组件,使用订阅方法来实现事件发射的订阅。...如何在Angular 2启用延迟加载? 大多数企业应用程序包含用各式各样的用于特定业务案例的模块。捆绑整个应用程序代码并完成加载,会在初始调用时,产生巨大的性能开销。...从堆栈溢出就是一个区别:  当异步操作完成或失败时,Promise会处理一个单个事件。 Observable类似于(许多语言中的)Stream,当每个事件调用回调函数时,允许传递零个或多个事件。

17.3K80

【Appetite】ionic3实录(五)基本服务实现

前面章节我们都是用命令行来操作,ionic g page person,现在开始会涉及到很多命令操作,可能有些人会记不住命令,或者记不清关键字,可以像我这样,IDE上装上插件,我这用的是VS Code...image.png TypeScript,public为默认访问级别,即外部可以访问的,所以如果想控制权限,请手动添加private关键字。...要想下次链式调用再处理异常,就应用Promise.reject继续抛出异常。 三、权限服务 ionic g provider auth 先建个文件备用。.../platform-browser'; import { Injectable } from '@angular/core'; /* 工具 Generated class for the UtilProvider...这些服务会随着业务功能的开发而补充,服务的每个方法可以不写返回类型(fun: Promise里的 Promise),但为了肉眼快速分辨出是异步方法还是普通方法

3.1K40

「React 基础」 React 项目中使用 ES6,你需要了解这些

相比其它 JavaScript 框架(Angular,Vue 或 Backbone),React的学习曲线很平缓,比较短的时间就能入门,并且其可以使用现代的 ES6 语法进行编写,并且不需要学习太多的设计模式... React 项目中,我们可以将一个值很容易的添加到另外一个数组,类似push方法,例如我们有一个待办事项的列表,我们需要添加一个新的待办事项,我们需要调用 setState 方法来添加新的待办事项内容... React 我们使用这个特性也比较频繁,比如用在 render 方法渲染的场景,示例如下: ?...虽然说是,其实 Class 背后实际还是个函数类型但是不存在提升的问题。下面我们来看看, React 我们如何使用声明一个组件。 ?...静态方法(Static methods) 静态方法,允许我们不用实例化就能直接调用,我们通常用来做工具的函数,方便我们项目中进行调用

3K30

angular面试题及答案_angular面试

ngOninit:初始化指令或组件,angular第一次显示展示组件的绑定属性后调用,该方法只会调用一次 ngDocheck:检测 ngAfterContentInit:当把内容投影进组件之后调用,...:angular初始化组件及其子组件的视图之后调用,只调用一次,只适用于组件 ngAfterViewChecked:每次做完组件视图和子视图的变更检测之后调用,只适用于组件 ngOnDestroy:...angular每次销毁组件或指令之前调用,通常用于移除事件监听,退订可观察对象。...当被初始化之后,构造函数会被调用 ngOnInit ngOnInit 是angularOnInit钩子的实现,用来初始化组件。...是输入属性发生变化的时候调用,并且ngOnInit是ngOnchanges执行之后才调用,而constructor是组件实例化的时候就调用了,也就是说,constructor是取不到输入属性的值的

11K120

Angular4记账webApp练手项目之五(Angular4项目中创建service(服务)和使用http模块)

有关@Injectable和@Component,都是angular的关键字或者关键注解。通过注解来表明js文件的类型,以方便angular框架进行调用。...; Zone: angular ; Task: Promise.then ; Value: 原来是app.module.ts 里面也要添加引用 import {AccountService} from...调用字符串的.json()方法转化为json数组或者json对象,继续调用关键字as将json数组或者json对象转化,转化的方式是属性对应。 ?...result: any; // 成功时返回的数据 success: boolean; // 是否成功 } account.service.ts引入并修改方法 import {Result}...修改调用方法 constructor(private service: AccountService) { service.getBillTypes().then(r => { console.log

1.3K10

何在 ASP.NET MVC 中集成 AngularJS(2)

何在 ASP.NET MVC 中集成 AngularJS(1),我们介绍了 ASP.NET MVC 捆绑和压缩、应用程序版本自动刷新和工程构建等内容。...下面的 BundleConfig 是内置的 ASP.NET 捆绑功能的配置文件。 BundleConfig ,我决定通过功能模块来组织我的文件。...开始的时候,我 _Layout.cshtml 母版页的顶部编写了一些服务器端代码。我所做的头两件事情就是让从程序集信息获取应用的序列号,从应用程序设置获取检索的基本 URL。...不幸的是,直到 AngularJS 配置阶段完成之后,才能提供 AngularJS 服务和方法集,因此我无法主页创建一个没有 AngularJS 错误的服务。...提供者的功能是,能够创建提供方法集和服务的实例。提供者允许你 Angular 配置过程创建和配置一个服务。 服务提供者名称是以他们所提供工作的提供商为开始的。

8.3K100

Ionic 开发之 Ionic Storage 详解

你可以使用前调用 Storage.ready() 方法,不过该方法仅在 1.1.7 以上的版本才支持: this.storage.ready().then((db) => { }); 若需要保存数据,...则可以调用 set(key, value) 方法: this.storage.set('name', 'semlinker'); 若想要获取上面已存储的 name 信息,你可以调用 get(key) 方法...Storage Storage 构造函数 import { Injectable, InjectionToken, Optional } from '@angular/core'; import...调用 db.setDriver() 方法时,会调用内部的 _getDriverOrder() 方法转换成相应的驱动: private _getDriverOrder(driverOrder) {...继续分析之前,我们先来大致浏览一下 Storage 定义的成员方法: driver() —— 返回 string 或 null,表示正在使用驱动的名称; ready() —— 返回 Promise

3.8K10

angular5面试题_大数据面试题

Angular提供了一种平滑的机制,通过它我们可以将这些依赖项注入我们的组件和指令。因此,我们只是构建依赖关系,这些依赖关系可以应用程序的所有组件之间注入。...;而在AOT编译,应用程序构建期间进行编译。...表达式(以及表达式所调用的函数)少写太过复杂的逻辑 不要连接太长的 pipe(往往 pipe里都会遍历并且生成新数组, pipe anglarJS(v1)叫做filter) 变化检测策略onPush...-- 3.绑定方法调用的结果 --> 直接绑定: 大多数情况下,这都是性能最好的方式。 绑定方法调用的结果:每个脏值检测过程,classes方程都要被调用一遍。...Promise,无论是否调用then。promise都会立即执行;而observables只是被创建,当调用(subscribe)的时候才会被执行。

4.3K20

新手们容易Promise上挖的坑~

每一个函数只会在前一个 promise调用并且完成回调后调用,并且这个函数会被前一个 promise 的输出调用,稍后我们在这块做更多的讨论。...早期,deferred Q,When,RSVP,Bluebird,Lie等等的 “优秀” 库中被引入, jQuery 与 Angular 使用 ES6 Promise 规范之前,都是使用这种模式编写代码...首先,大部分 promises 库都会提供一个方式去包装一个第三方的 promises 对象。举例来说,Angular的 $q 模块允许你使用 $q.when包裹非 $q 的 promises。...因此 Angular 用户可以这样使用 PouchDB promises. ? 另一种策略是使用构造函数声明模式,它在用来包裹非 promise API 时非常有用。...举例来说,为了包裹一个回调风格的 API Node 的 fs.readFile ,你可以简单的这么做: ? #5 使用副作用调用而非返回 下面的代码有什么问题? ?

1.5K50

JavaScript 的依赖注入

我们先举个简单的例子,我们有两个简单的 A 和 B B 依赖了 A ,我们 B 对它进行实例化,并调用它的方法: class A { constructor(name) {...JavaScript 框架的依赖注入 Angular Angular 中大量应用了依赖注入的设计思想。...,我们可以直接调用注入的 provide 方法,而组件内部不用关心它的实现。...Decorator API 装饰器模式是一种经典的设计模式,其目的是不修改被装饰者(某个函数、某个等)源码的前提下,为被装饰者增加 / 移除某些功能。...,以及 ECMAScript 还处于 legacy 阶段的 Decorator API,下面是它的用法: 装饰的时候,装饰器方法一般会接收一个目标作为参数,下面是一个示例,给增加静态属性、原型方法

1.7K31

Angular 异常处理

ngZone 对象的 run() 方法内部,我们先调用 Injector 的 create() 方法创建 ngZoneInjector 注入器,然后把它作为参数传给 moduleFactory 对象的...接着通过调用根级注入器的 get() 方法,获取 ErrorHandler 对象。 获取 ErrorHandler 对象之后,通过调用 ngZone !....2的Zone 这篇文章。...此外在 bootstrapModuleFactory() 方法内部,完成应用初始化操作之后,内部还会进一步调用 _moduleDoBootstrap() 启动我们的根组件: return _callAndReportToErrorHandler...属性,即当微任务执行完成后,会调用内部 tick 方法执行变化检测,变化检测周期如果发生异常时,就会调用我们自定义的异常处理器的 handleError 方法执行相应的异常处理逻辑: tick():

1.3K20

【Hybrid开发高级系列】AngularJS(二)——常用$服务

对于检查绑定的数据到底有没有发生变化,实际上是由scope.digest()完成的,但是我们几乎从来就没有直接调用过这个方法,而是调用scope.apply()方法,是因为scope.apply()方法里面...$apply()方法可以angular框架之外执行angular JS的表达式,例如:DOM事件、setTimeout、XHR或其他第三方的库。...promise对象,我们可以响应返回时用then方法来处理回调。...1.7.3 内置方法     absUrl( ):只读;根据RFC3986指定的规则,返回url,带有所有的片段。     ...replace( ):如果被调用,就会用改变后的URL直接替换浏览器的历史记录,而不是历史记录中新建一条信息,这样可以阻止『后退』。

38840
领券