Javascript 如何使用Redux Saga“;调用;函数名为保留字时的函数,如何进行链式函数调用?
我需要在使用Firebase函数的redux sagas中的两个函数中使用Javascript 如何使用Redux Saga“;调用;函数名为保留字时的函数,如何进行链式函数调用?,javascript,firebase,redux-saga,method-call,Javascript,Firebase,Redux Saga,Method Call,我需要在使用Firebase函数的redux sagas中的两个函数中使用call()。在action.user.delete()中,我无法执行此操作 yield{delete}=action.user或调用([action.user,delete]),因为delete是保留字。在database.ref(url).remove()中,我不知道如何对链式函数使用call() 有几个语法选项可用于处理delete作为保留字的情况: 将函数名的字符串传递给调用方法 在具有不同名称的变量中获取对de
call()
。在action.user.delete()
中,我无法执行此操作
yield{delete}=action.user
或调用([action.user,delete])
,因为delete
是保留字。在database.ref(url).remove()
中,我不知道如何对链式函数使用call()
有几个语法选项可用于处理delete
作为保留字的情况:
- 将函数名的字符串传递给
方法调用
- 在具有不同名称的变量中获取对
函数的引用delete
delete
示例之后,我提供了一个执行链式调用的示例
yield action.user.delete() && database.ref(url).remove()
对不起,这对我不起作用。。我是用
const{ref}=database const{remove}=database.ref()const result=yield call([database,ref],url)yield call([result,remove])
和const deleteFunction=()=>action.user.delete()yield call([action.user,deleteFunction])
完成的,但我感谢你的帮助,大拥抱。
import { call } from "redux-saga/effects";
const refResponse = {
remove: () => {
console.log("You removed me!");
}
};
const action = {
user: {
delete: () => {
console.log("You deleted me!");
}
}
};
const database = {
ref: () => {
console.log("Returning ref");
return refResponse;
}
};
export const starter = function*() {
console.log("before call");
yield call([action.user, "delete"]);
console.log("after call using string for function name");
const deleteFunc = action.user.delete;
yield call([action.user, deleteFunc]);
console.log("after call using function variable");
console.log("before start of chained call");
const result = yield call([database, "ref"]);
console.log("before 2nd part of chained call");
yield call([result, "remove"]);
};